From 1b142006faf0e06d2e878c8d3bdd71480fe4f6bc Mon Sep 17 00:00:00 2001 From: Sebastian Kippe Date: Tue, 26 Jun 2018 17:11:35 -0700 Subject: [PATCH] WIP first steps --- Gemfile.lock | 10 ++++++++++ lib/manifique.rb | 2 +- lib/manifique/agent.rb | 15 +++++++++++++++ lib/manifique/web_client.rb | 16 ++++++++++++++++ manifique.gemspec | 4 ++++ test/manifique_test.rb | 7 ++++--- 6 files changed, 50 insertions(+), 4 deletions(-) create mode 100644 lib/manifique/agent.rb create mode 100644 lib/manifique/web_client.rb diff --git a/Gemfile.lock b/Gemfile.lock index b9500f7..330a3a0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -2,11 +2,21 @@ PATH remote: . specs: manifique (0.1.0) + faraday (~> 0.15.2) + nitlink (~> 1.1) + nokogiri (~> 1.8) GEM remote: https://rubygems.org/ specs: + faraday (0.15.2) + multipart-post (>= 1.2, < 3) + mini_portile2 (2.3.0) minitest (5.11.3) + multipart-post (2.0.0) + nitlink (1.1.0) + nokogiri (1.8.3) + mini_portile2 (~> 2.3.0) rake (10.5.0) PLATFORMS diff --git a/lib/manifique.rb b/lib/manifique.rb index 375a911..9b88978 100644 --- a/lib/manifique.rb +++ b/lib/manifique.rb @@ -1,5 +1,5 @@ require "manifique/version" module Manifique - # Your code goes here... + autoload :Agent, "manifique/agent" end diff --git a/lib/manifique/agent.rb b/lib/manifique/agent.rb new file mode 100644 index 0000000..1b30556 --- /dev/null +++ b/lib/manifique/agent.rb @@ -0,0 +1,15 @@ +require "manifique/web_client" + +module Manifique + class Agent + def initialize(options) + @options = options + @url = options[:url] + end + + def fetch_metadata + web_client = WebClient.new(url: @url) + web_client.fetch_web_manifest + end + end +end diff --git a/lib/manifique/web_client.rb b/lib/manifique/web_client.rb new file mode 100644 index 0000000..b083b88 --- /dev/null +++ b/lib/manifique/web_client.rb @@ -0,0 +1,16 @@ +require 'faraday' +require "nokogiri" +require 'nitlink/response' + +module Manifique + class WebClient + def initialize(options) + @options = options + @url = options[:url] + end + + def fetch_web_manifest + @url + end + end +end diff --git a/manifique.gemspec b/manifique.gemspec index 5dca268..347d971 100644 --- a/manifique.gemspec +++ b/manifique.gemspec @@ -25,4 +25,8 @@ Gem::Specification.new do |spec| spec.add_development_dependency "bundler", "~> 1.16" spec.add_development_dependency "rake", "~> 10.0" spec.add_development_dependency "minitest", "~> 5.0" + + spec.add_runtime_dependency "faraday", "~> 0.15.2" + spec.add_runtime_dependency "nokogiri", "~> 1.8" + spec.add_runtime_dependency "nitlink", "~> 1.1" end diff --git a/test/manifique_test.rb b/test/manifique_test.rb index e688ead..202a046 100644 --- a/test/manifique_test.rb +++ b/test/manifique_test.rb @@ -5,7 +5,8 @@ class ManifiqueTest < Minitest::Test refute_nil ::Manifique::VERSION end - # def test_it_does_something_useful - # assert true - # end + def test_fetch_metadata + agent = Manifique::Agent.new(url: 'https://example.com') + assert_equal agent.fetch_metadata, 'https://example.com' + end end