diff options
| author | mo <mo@mokhan.ca> | 2018-05-07 14:47:06 -0600 |
|---|---|---|
| committer | mo <mo@mokhan.ca> | 2018-05-07 14:47:06 -0600 |
| commit | 9014e187ce3591a3faf1075efac830893f023e0d (patch) | |
| tree | d3f464082a49067095af824ae512caa837efa294 /lib | |
| parent | f66d272a243508ba665996a0c6cc78fcf23cb046 (diff) | |
extract json mapper.
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/net/hippie.rb | 2 | ||||
| -rw-r--r-- | lib/net/hippie/client.rb | 10 | ||||
| -rw-r--r-- | lib/net/hippie/json_mapper.rb | 9 |
3 files changed, 14 insertions, 7 deletions
diff --git a/lib/net/hippie.rb b/lib/net/hippie.rb index b2aeee0..adb0666 100644 --- a/lib/net/hippie.rb +++ b/lib/net/hippie.rb @@ -4,7 +4,7 @@ require "net/http" require "openssl" require "net/hippie/version" - +require "net/hippie/json_mapper" require "net/hippie/client" module Net diff --git a/lib/net/hippie/client.rb b/lib/net/hippie/client.rb index d36de5d..dd1f228 100644 --- a/lib/net/hippie/client.rb +++ b/lib/net/hippie/client.rb @@ -7,10 +7,11 @@ module Net 'User-Agent' => "net/hippie #{Net::Hippie::VERSION}", } - def initialize(headers: DEFAULT_HEADERS, certificate: nil, key: nil) + def initialize(headers: DEFAULT_HEADERS, certificate: nil, key: nil, mapper: JsonMapper.new) @certificate = certificate @default_headers = headers @key = key + @mapper = mapper end def execute(uri, request) @@ -50,6 +51,7 @@ module Net private attr_reader :default_headers, :certificate, :key + attr_reader :mapper def http_for(uri) http = Net::HTTP.new(uri.host, uri.port) @@ -63,13 +65,9 @@ module Net def request_for(type, uri, headers: {}, body: {}) type.new(uri, default_headers.merge(headers)).tap do |x| - x.body = map_from(body) unless body.empty? + x.body = mapper.map_from(body) unless body.empty? end end - - def map_from(hash) - JSON.generate(hash) - end end end end diff --git a/lib/net/hippie/json_mapper.rb b/lib/net/hippie/json_mapper.rb new file mode 100644 index 0000000..3aae9e3 --- /dev/null +++ b/lib/net/hippie/json_mapper.rb @@ -0,0 +1,9 @@ +module Net + module Hippie + class JsonMapper + def map_from(hash) + JSON.generate(hash) + end + end + end +end |
