vinochipper 0.0.0 → 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cea743f941ab566a188302ecc0b7bff19c534cd735de30171054e4b5c0f95423
4
- data.tar.gz: ca9c92a96f19f65552d7e8b7ff1ca611140e8efa0d048981a060a7127038a644
3
+ metadata.gz: b7d103124c46bb127716b6bc92cfbd33bbf0e4833a42be6cc8e01396931faacc
4
+ data.tar.gz: 3da8f06cdbf02b5883bf82d5656f025602127c6d3504f3662249ac117e9621d2
5
5
  SHA512:
6
- metadata.gz: d69d72c1c9aba77a1b1f7dd5d4d82867d455132f455c17e2fd470541b5f60c22413472cec0bea5eb6842ecbf43c58013500759dda42b1189ed81b987802e1405
7
- data.tar.gz: de92994b517ac115ffb3647b6c6bb01daed174f156b7e172a473d760668ff0dd4012530c8c4cc2d65df6337d4f42f6216d0e749ac67562c87989b25fb0f7dd38
6
+ metadata.gz: 958f452f56b1e114376072f3ffad619f3bfb14037c6e20b7c8491f07a6b60b6f595fa02eb0d38d516f338388728f2f91ceda61c1004b9a87c75165ced7c6f0d8
7
+ data.tar.gz: 6f4ab936d453c9245d23d87f95c2dd489411067025e56e3f0d95bed71f415bbbba74a804374b289574d3ac0843442090c890460b516cbaf4b25e3c6a41ef4e68
@@ -0,0 +1,7 @@
1
+ require 'models/vinochippermodel'
2
+
3
+ class State < VinoChipperModel
4
+ def to_s
5
+ self.state
6
+ end
7
+ end
@@ -0,0 +1,20 @@
1
+ require 'util/string'
2
+
3
+ class VinoChipperModel
4
+ def initialize(deets)
5
+ @deets = deets
6
+ end
7
+
8
+ def method_missing(*args)
9
+ message = args[0].to_s.camel_case_lower
10
+ if message.end_with?('=')
11
+ @deets[message.chomp!('=')] = args[1]
12
+ else
13
+ @deets[message] || super
14
+ end
15
+ end
16
+
17
+ def to_s
18
+ @deets.keys
19
+ end
20
+ end
@@ -0,0 +1,7 @@
1
+ require 'models/vinochippermodel'
2
+
3
+ class Wine < VinoChipperModel
4
+ def to_s
5
+ "id:'#{id}' name:'#{name}' abv:'#{abv}'"
6
+ end
7
+ end
@@ -0,0 +1,25 @@
1
+ require 'models/vinochippermodel'
2
+ require 'models/winery'
3
+ require 'models/wine'
4
+ require 'models/state'
5
+
6
+ class WineList < VinoChipperModel
7
+ def initialize(deets)
8
+ super
9
+ self.winery = Winery.new(winery)
10
+ self.wines = wines.map { |wine| (Wine.new(wine))}
11
+ self.ships_to = ships_to.map { |state| (State.new(state))}
12
+ end
13
+
14
+ def to_s
15
+ "Winery: #{winery}
16
+
17
+ Wines: #{wines.map{|wine| wine.to_s}}
18
+
19
+ Promotions: #{promotions}
20
+
21
+ Ships_to: #{ships_to.map{|state| state.to_s}}
22
+
23
+ Special_Shipping: #{special_shipping}"
24
+ end
25
+ end
@@ -0,0 +1,7 @@
1
+ require 'models/vinochippermodel'
2
+
3
+ class Winery < VinoChipperModel
4
+ def to_s
5
+ "id: #{id} name: #{name}"
6
+ end
7
+ end
@@ -0,0 +1,5 @@
1
+ class String
2
+ def camel_case_lower
3
+ self.split('_').inject([]){ |buffer,e| buffer.push(buffer.empty? ? e : e.capitalize) }.join
4
+ end
5
+ end
@@ -1,5 +1,18 @@
1
+ require 'json'
2
+ require 'net/http'
3
+
4
+ require 'models/winelist'
5
+
1
6
  class Vinochipper
7
+
8
+ BASE_URL = 'https://vinoshipper.com/json-api/v2/'.freeze
9
+
2
10
  def self.hi
3
11
  puts 'hello world'
4
12
  end
5
- end
13
+
14
+ def self.wine_list(id)
15
+ response = Net::HTTP.get_response(URI.parse(BASE_URL + 'wine-list?id=' + id.to_s))
16
+ WineList.new(JSON.parse(response.body))
17
+ end
18
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vinochipper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 0.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kent Slaymaker
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-08-10 00:00:00.000000000 Z
11
+ date: 2020-08-11 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Interface for the VinoShipper API
14
14
  email: kent@slaymakercellars.com
@@ -16,6 +16,12 @@ executables: []
16
16
  extensions: []
17
17
  extra_rdoc_files: []
18
18
  files:
19
+ - lib/models/state.rb
20
+ - lib/models/vinochippermodel.rb
21
+ - lib/models/wine.rb
22
+ - lib/models/winelist.rb
23
+ - lib/models/winery.rb
24
+ - lib/util/string.rb
19
25
  - lib/vinochipper.rb
20
26
  homepage: https://rubygems.org/gems/vinochipper
21
27
  licenses: