lipstick 1.1.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1cdd62a0a4eb63c741e28f92ad050f8e76e96924
4
- data.tar.gz: 31a076bdf9230b917c4b5c70c249527b3a0300ea
3
+ metadata.gz: a01557fa604a5f9ad86aa8bc268ede3ec301d131
4
+ data.tar.gz: 1a3d103d15de493d1705cd1c8ea91e61406df399
5
5
  SHA512:
6
- metadata.gz: 6ed80539845896567249ca2276213e93cdacd31018b73580e4ce0ec09b50f4ae456139a4f2e5f9e5e8f5d0d55ffa9796859736db83ba88d0986c566d9af5c6fd
7
- data.tar.gz: ebde4ee004603ae43f1b747437a92d13a4dc67f8326b7a92b4d43612a0c2179a4fd2d290822c2f1053c2bc02d397c9eeb7be3ca1ce7e9cdc6250e80466d30ca5
6
+ metadata.gz: 07025105959ae4270a540eecbdd1c1429b010e56a0e9c43b37adac4bc058a555289495fd9cd8d837700b621889677ee03098ee6993ecd1bcaaed598e463a4487
7
+ data.tar.gz: 391a62bdccf82a09d6776f8b506c3729a32edc967f6e11d12ecb84ca84cf279391482a1add2b80ae1ad938a1f366da126c665857f6ceffcf26bced63f4e73c4a
data/Gemfile CHANGED
@@ -1,14 +1,12 @@
1
1
  source "http://rubygems.org"
2
- # Add dependencies required to use your gem here.
3
- # Example:
4
- # gem "activesupport", ">= 2.3.5"
2
+
3
+ gem 'rake'
4
+ gem 'yard' # Documentation generator
5
5
 
6
6
  # Add dependencies to develop your gem here.
7
7
  # Include everything needed to run rake, tests, features, etc.
8
8
  group :development do
9
9
  gem "minitest", ">= 0"
10
- gem "yard", "~> 0.7"
11
- gem "rdoc", "~> 3.12"
12
10
  gem "bundler", "~> 1.0"
13
11
  gem "simplecov", ">= 0"
14
12
  end
@@ -2,17 +2,15 @@ GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
4
  docile (1.1.5)
5
- json (1.8.1)
6
5
  minitest (5.4.2)
7
6
  multi_json (1.11.2)
8
- rdoc (3.12.2)
9
- json (~> 1.4)
7
+ rake (12.3.0)
10
8
  simplecov (0.9.1)
11
9
  docile (~> 1.1.0)
12
10
  multi_json (~> 1.0)
13
11
  simplecov-html (~> 0.8.0)
14
12
  simplecov-html (0.8.0)
15
- yard (0.8.7.6)
13
+ yard (0.9.12)
16
14
 
17
15
  PLATFORMS
18
16
  ruby
@@ -20,9 +18,9 @@ PLATFORMS
20
18
  DEPENDENCIES
21
19
  bundler (~> 1.0)
22
20
  minitest
23
- rdoc (~> 3.12)
21
+ rake
24
22
  simplecov
25
- yard (~> 0.7)
23
+ yard
26
24
 
27
25
  BUNDLED WITH
28
- 1.14.3
26
+ 1.15.4
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.0
1
+ 1.1.1
@@ -1,4 +1,6 @@
1
1
  require 'csv'
2
+ require 'net/http'
3
+ require 'openssl'
2
4
 
3
5
  module Lipstick
4
6
  module Api
@@ -1,17 +1,12 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "lipstick"
3
- s.version = "1.1.0"
3
+ s.version = "1.1.1"
4
4
 
5
5
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
6
6
  s.require_paths = ["lib"]
7
7
  s.authors = ["Piers Chambers"]
8
- s.date = "2017-04-07"
9
8
  s.description = "Unofficial ruby wrapper for the Lime Light CRM membership and transaction APIs"
10
9
  s.email = "piers@varyonic.com"
11
- s.extra_rdoc_files = [
12
- "LICENSE.txt",
13
- "README.md"
14
- ]
15
10
  s.files = [
16
11
  ".document",
17
12
  "Gemfile",
@@ -31,9 +26,6 @@ Gem::Specification.new do |s|
31
26
  "lib/lipstick/api/response.rb",
32
27
  "lib/lipstick/api/session.rb",
33
28
  "lipstick.gemspec",
34
- "test/helper.rb",
35
- "test/test_lipstick.rb",
36
- "test/test_order_view_response.rb"
37
29
  ]
38
30
  s.homepage = "http://github.com/varyonic/lipstick"
39
31
  s.licenses = ["MIT"]
@@ -41,8 +33,7 @@ Gem::Specification.new do |s|
41
33
  s.summary = "Unofficial ruby wrapper for the Lime Light CRM APIs."
42
34
 
43
35
  s.add_development_dependency(%q<minitest>, ["~> 0"])
44
- s.add_development_dependency(%q<yard>, ["~> 0.7"])
45
- s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
36
+ s.add_development_dependency(%q<yard>, ["~> 0.9.11"])
46
37
  s.add_development_dependency(%q<bundler>, ["~> 1.0"])
47
38
  s.add_development_dependency(%q<simplecov>, ["~> 0"])
48
39
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lipstick
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piers Chambers
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-04-07 00:00:00.000000000 Z
11
+ date: 2017-12-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest
@@ -30,28 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0.7'
33
+ version: 0.9.11
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0.7'
41
- - !ruby/object:Gem::Dependency
42
- name: rdoc
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '3.12'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '3.12'
40
+ version: 0.9.11
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: bundler
57
43
  requirement: !ruby/object:Gem::Requirement
@@ -85,9 +71,7 @@ description: Unofficial ruby wrapper for the Lime Light CRM membership and trans
85
71
  email: piers@varyonic.com
86
72
  executables: []
87
73
  extensions: []
88
- extra_rdoc_files:
89
- - LICENSE.txt
90
- - README.md
74
+ extra_rdoc_files: []
91
75
  files:
92
76
  - ".document"
93
77
  - Gemfile
@@ -107,9 +91,6 @@ files:
107
91
  - lib/lipstick/api/response.rb
108
92
  - lib/lipstick/api/session.rb
109
93
  - lipstick.gemspec
110
- - test/helper.rb
111
- - test/test_lipstick.rb
112
- - test/test_order_view_response.rb
113
94
  homepage: http://github.com/varyonic/lipstick
114
95
  licenses:
115
96
  - MIT
@@ -130,7 +111,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
130
111
  version: '0'
131
112
  requirements: []
132
113
  rubyforge_project:
133
- rubygems_version: 2.6.11
114
+ rubygems_version: 2.4.8
134
115
  signing_key:
135
116
  specification_version: 4
136
117
  summary: Unofficial ruby wrapper for the Lime Light CRM APIs.
@@ -1,81 +0,0 @@
1
- require 'simplecov'
2
-
3
- module SimpleCov::Configuration
4
- def clean_filters
5
- @filters = []
6
- end
7
- end
8
-
9
- SimpleCov.configure do
10
- clean_filters
11
- load_adapter 'test_frameworks'
12
- end
13
-
14
- ENV["COVERAGE"] && SimpleCov.start do
15
- add_filter "/.rvm/"
16
- end
17
- require 'rubygems'
18
- require 'bundler'
19
- begin
20
- Bundler.setup(:default, :development)
21
- rescue Bundler::BundlerError => e
22
- $stderr.puts e.message
23
- $stderr.puts "Run `bundle install` to install missing gems"
24
- exit e.status_code
25
- end
26
- require 'minitest/autorun'
27
- require 'minitest/unit'
28
-
29
- $LOAD_PATH.unshift(File.dirname(__FILE__))
30
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
31
- require 'lipstick'
32
-
33
- require 'yaml'
34
-
35
- module Lipstick
36
- module Fixtures
37
- HOME_DIR = RUBY_PLATFORM =~ /mswin32/ ? ENV['HOMEPATH'] : ENV['HOME'] unless defined?(HOME_DIR)
38
- LOCAL_CREDENTIALS = File.join(HOME_DIR.to_s, '.lipstick/fixtures.yml') unless defined?(LOCAL_CREDENTIALS)
39
-
40
- def address(prefix, options = {})
41
- {
42
- "#{prefix}Address1" => '1234 My Street',
43
- "#{prefix}Address2" => 'Apt 1',
44
- "#{prefix}City" => 'Ottawa',
45
- "#{prefix}State" => 'ON',
46
- "#{prefix}Zip" => 'K1C2N6',
47
- "#{prefix}Country" => 'CA',
48
- }.update(options)
49
- end
50
-
51
- def all_fixtures
52
- @@fixtures ||= load_fixtures
53
- end
54
-
55
- def fixtures(key)
56
- data = all_fixtures[key] || raise(StandardError, "No fixture data was found for '#{key}'")
57
- data.dup
58
- end
59
-
60
- def load_fixtures
61
- [LOCAL_CREDENTIALS].inject({}) do |credentials, file_name|
62
- if File.exist?(file_name)
63
- yaml_data = YAML.load(File.read(file_name))
64
- credentials.merge!(symbolize_keys(yaml_data))
65
- end
66
- credentials
67
- end
68
- end
69
-
70
- def symbolize_keys(hash)
71
- return hash unless hash.is_a?(Hash)
72
- hash.each_with_object({}){|(k,v), h| h[k.to_sym] = symbolize_keys(v)}
73
- end
74
- end
75
- end
76
-
77
- def context(*args, &block)
78
- describe(*args, &block)
79
- end
80
-
81
- Minitest.autorun
@@ -1,193 +0,0 @@
1
- require 'helper'
2
-
3
- include Lipstick::Fixtures
4
-
5
- describe 'Lipstick::Api::Session' do
6
- i_suck_and_my_tests_are_order_dependent!
7
-
8
- before(:each) do
9
- params = fixtures(:credentials)
10
- params[:logger] = Logger.new(STDOUT) if ENV['DEBUG_LIPSTICK'] == 'true'
11
- @session = Lipstick::Api::Session.new(params)
12
- end
13
-
14
- describe '#campaign_find_active' do
15
- it 'finds all active campaigns' do
16
- api_response = @session.campaign_find_active
17
- assert api_response.code == 100, "unexpected response: #{api_response.inspect}"
18
- assert api_response.campaign_id.is_a?(Array)
19
- assert api_response.campaign_id[0].is_a?(Integer)
20
- assert api_response.campaign_name.is_a?(Array)
21
- end
22
- end
23
-
24
- describe '#campaign_view' do
25
- it 'fetches attributes of a campaign' do
26
- api_response = @session.campaign_find_active
27
- assert api_response.code == 100, "unexpected response: #{api_response.inspect}"
28
- campaign_id = api_response.campaign_id.sample
29
- api_response = @session.campaign_view(campaign_id)
30
- assert api_response.code == 100, "unexpected response: #{api_response.inspect}"
31
- assert api_response.product_id.is_a?(Array)
32
- assert api_response.shipping_id.is_a?(Array)
33
- end
34
- end
35
-
36
- context 'sample campaign' do
37
- let(:order_params) do
38
- {
39
- campaign_id: @campaign_id,
40
- product_id: @product_id,
41
- first_name: 'Jim',
42
- last_name: 'Smith',
43
- phone: '(555)555-5555',
44
- email: 'test@test.com', # jim.smith@example.com'
45
- credit_card_type: @credit_card_type,
46
- credit_card_number: fixtures(:test_card_number),
47
- expiration_date: '1219',
48
- 'CVV' => '123',
49
- tran_type: 'NewOrder',
50
- shipping_id: @shipping_method_id,
51
- ip_address: '127.0.0.1',
52
- upsell_count: 0
53
- }.update(address('shipping')).update(address('billing'))
54
- end
55
- before (:all) do
56
- api_response = @session.campaign_find_active
57
- assert api_response.code == 100, "unexpected response: #{api_response.inspect}"
58
- @campaign_id = api_response.campaign_id.sample
59
- @campaign = @session.campaign_view(@campaign_id)
60
- @product_id = @campaign.product_id.sample
61
- @credit_card_type = @campaign.payment_name.sample
62
- @shipping_method_id = @campaign.shipping_id.sample
63
- end
64
-
65
- describe '#new_order' do
66
- it 'creates order' do
67
- api_response = @session.new_order(order_params)
68
- assert api_response.code == 100, "unexpected response: #{api_response.inspect}"
69
- assert api_response.test, "Expected #{api_response.test.inspect} to be true"
70
- assert api_response.customer_id.is_a?(Integer), "Expected #{api_response.customer_id.inspect} to be an integer"
71
- assert api_response.order_id.is_a?(Integer)
72
- assert api_response.transaction_id == 'Not Available'
73
- assert api_response.auth_id == 'Not Available'
74
- end
75
- end
76
-
77
- context 'existing order' do
78
- before (:all) do
79
- api_response = @session.new_order(order_params)
80
- assert api_response.code == 100, "unexpected response: #{api_response.inspect}"
81
- @order_id = api_response.order_id
82
- @customer_id = api_response.customer_id
83
- end
84
-
85
- describe '#customer_find_active_product' do
86
- it 'fetches product ids' do
87
- api_response = @session.customer_find_active_product(@customer_id)
88
- assert api_response.code == 100, "unexpected response: #{api_response.inspect}"
89
- assert api_response.product_ids.is_a?(Array)
90
- assert api_response.product_ids[0].is_a?(Integer)
91
- end
92
- end
93
-
94
- describe '#order_find' do
95
- it 'returns orders matching criteria' do
96
- api_response = @session.order_find(Time.now - 120, Time.now)
97
- assert api_response.code == 100, "unexpected response: #{api_response.inspect}"
98
- assert api_response.order_ids.is_a?(Array)
99
- assert api_response.order_ids[0].is_a?(Integer)
100
- end
101
- end
102
-
103
- describe '#order_refund' do
104
- it 'refunds the customer' do
105
- api_response = @session.order_refund(@order_id, 0.01)
106
- assert api_response.code == 100, "unexpected response: #{api_response.inspect}"
107
- end
108
- end
109
-
110
- describe '#order_view' do
111
- it 'returns details of an order' do
112
- api_response = @session.order_view(@order_id)
113
- assert api_response.code == 100, "unexpected response: #{api_response.inspect}"
114
- end
115
- end
116
-
117
- describe '#order_update1' do
118
- it 'posts chages to an order' do
119
- api_response = @session.order_update(@order_id, :tracking_number, 'LC123456789012345678US')
120
- assert api_response.code == 100, "unexpected response: #{api_response.inspect}"
121
- end
122
- end
123
-
124
- context 'updated order' do
125
- before (:each) do
126
- api_response = @session.order_update(@order_id, :tracking_number, 'LC123456789012345678US')
127
- assert api_response.code == 100, "unexpected response: #{api_response.inspect}"
128
- end
129
-
130
- describe '#order_find_updated' do
131
- it 'finds updated orders' do
132
- api_response = @session.order_find_updated(Time.now - 128, Time.now)
133
- assert api_response.code == 100, "unexpected response: #{api_response.inspect}"
134
- assert api_response.order_ids.is_a?(Array)
135
- assert api_response.order_ids[0].is_a?(Integer)
136
- end
137
- end
138
- end
139
- end # existing order
140
-
141
- context 'new order' do
142
- before (:each) do
143
- api_response = @session.new_order(order_params)
144
- assert api_response.code == 100, "unexpected response: #{api_response.inspect}"
145
- @new_order_id = api_response.order_id
146
- end
147
-
148
- describe '#order_update_recurring' do
149
- it 'cancels a new order' do
150
- api_response = @session.order_update_recurring(@new_order_id, 'stop')
151
- assert api_response.code == 100, "unexpected response: #{api_response.inspect}"
152
- end
153
- end
154
-
155
- describe '#order_void' do
156
- it 'cancels a new order' do
157
- api_response = @session.order_void(@new_order_id)
158
- assert api_response.code == 100, "unexpected response: #{api_response.inspect}"
159
- end
160
- end
161
- end
162
- end # sample campaign
163
-
164
- describe '#shipping_method_find' do
165
- it 'finds shipping methods' do
166
- api_response = @session.shipping_method_find
167
- assert api_response.code == 100, "unexpected response: #{api_response.inspect}"
168
- assert api_response.shipping_ids.is_a?(Array)
169
- assert api_response.shipping_ids[0].is_a?(Integer)
170
- end
171
- end
172
-
173
- describe 'validate_credentials' do
174
- it 'returns true if credentials valid' do
175
- api_response = @session.validate_credentials
176
- assert api_response.code == 100, 'Credentials not valid.'
177
- end
178
-
179
- it 'returns false if credentials invalid' do
180
- invalid_credentials = fixtures(:credentials).merge!(password: 'invalid')
181
- @invalid_session = Lipstick::Api::Session.new(invalid_credentials)
182
- api_response = @invalid_session.validate_credentials
183
- assert api_response.code == 200, 'Invalid credentials not detected.'
184
- end
185
- end
186
-
187
- describe '#underscore' do
188
- it 'munges whatsit' do
189
- foobar = @session.underscore('FooBar')
190
- assert foobar == 'foo_bar', ">> #{foobar} <<"
191
- end
192
- end
193
- end
@@ -1,127 +0,0 @@
1
- require 'helper'
2
-
3
- describe 'Lipstick::Api::OrderViewResponse' do
4
- describe 'initialize' do
5
- it 'parses the fields' do
6
- fields = {
7
- :response_code=>"100",
8
- :ancestor_id=>"581006",
9
- :customer_id=>"30346",
10
- :parent_id=>"2081410",
11
- :child_id=>nil,
12
- :order_status=>"11",
13
- :is_recurring=>"0",
14
- :first_name=>"Jim",
15
- :last_name=>"Smith",
16
- :shipping_first_name=>"Jim",
17
- :shipping_last_name=>"Smith",
18
- :shipping_street_address=>"1234 My Street",
19
- :shipping_street_address2=>"Apt 1",
20
- :shipping_city=>"Ottawa",
21
- :shipping_state=>"ON",
22
- :shipping_state_id=>"ON",
23
- :shipping_postcode=>"K1C2N6",
24
- :shipping_country=>"CA",
25
- :billing_first_name=>"Jim",
26
- :billing_last_name=>"Smith",
27
- :billing_street_address=>"1234 My Street",
28
- :billing_street_address2=>"Apt 1",
29
- :billing_city=>"Ottawa",
30
- :billing_state=>"ON",
31
- :billing_state_id=>"ON",
32
- :billing_postcode=>"K1C2N6",
33
- :billing_country=>"CA",
34
- :customers_telephone=>"(555)555-5555",
35
- :time_stamp=>"2014-11-26 16:34:33",
36
- :recurring_date=>"0000-00-00",
37
- :retry_date=>"N/A",
38
- :cc_type=>"offline",
39
- :cc_number=>"2822", # "N/A",
40
- :check_account_last_4=>"N/A",
41
- :check_routing_last_4=>"N/A",
42
- :check_ssn_last_4=>"N/A",
43
- :cc_expires=>"1219",
44
- :prepaid_match=>"N/A",
45
- :main_product_id=>"17",
46
- :main_product_quantity=>"1",
47
- :upsell_product_quantity=>nil,
48
- :upsell_product_id=>nil,
49
- :shipping_id=>"1",
50
- :shipping_method_name=>"USPS",
51
- :order_total=>"4.25",
52
- :transaction_id=>"5804215901", # "Not Available",
53
- :auth_id=>"02553Z", # "Not Available",
54
- :tracking_number=>nil,
55
- :on_hold=>"0",
56
- :on_hold_by=>nil,
57
- :hold_date=>nil,
58
- :shipping_date=>"Not Shipped",
59
- :email_address=>"test@test.com",
60
- :gateway_id=>"1",
61
- :preserve_gateway=>"0",
62
- :amount_refunded_to_date=>"0.00",
63
- :order_confirmed=>"NO_STATUS",
64
- :order_confirmed_date=>nil,
65
- :is_chargeback=>"0",
66
- :is_fraud=>"0",
67
- :is_rma=>"0",
68
- :rma_number=>nil,
69
- :rma_reason=>nil,
70
- :ip_address=>"127.0.0.1",
71
- :affiliate=>nil,
72
- :sub_affiliate=>nil,
73
- :decline_reason=>"N/A",
74
- :campaign_id=>"23",
75
- :order_sales_tax=>"0.00",
76
- :order_sales_tax_amount=>"0.00",
77
- :processor_id=>nil,
78
- :created_by_user_name=>nil,
79
- :created_by_employee_name=>nil,
80
- :billing_cycle=>"0",
81
- :click_id=>nil,
82
- :product_qty_17=>"1",
83
- :"products[0][product_id]"=>"1",
84
- :"products[0][sku]"=>"094922807700",
85
- :"products[0][price]"=>"0.00",
86
- :"products[0][name]"=>"Lipstick",
87
- :"products[0][on_hold]"=>"0",
88
- :"products[0][is_recurring]"=>"1",
89
- :"products[0][recurring_date]"=>"2014-12-26",
90
- :"products[0][product_qty]"=>"1",
91
- :"products[0][subscription_id]"=>"653cfc05e89438543a943731bbe6dbce",
92
- :"products[0][subscription_type]"=>"Bill by cycle",
93
- :"products[0][subscription_desc]"=>"Bills every 30 days"
94
- }
95
- response = Lipstick::Api::OrderViewResponse.new(fields)
96
- customer = response.customer
97
- assert_equal customer.id, 30346
98
- assert_equal customer.first_name, "Jim"
99
- assert_equal customer.last_name, "Smith"
100
- assert_equal customer.telephone, "(555)555-5555"
101
- assert_equal customer.email_address, "test@test.com"
102
-
103
- order = response.order
104
- assert_equal order.ancestor_id, 581006
105
- # assert_equal order.customer.id, 30346
106
- assert_equal order.parent_id, 2081410
107
- assert_equal order.status, 11
108
-
109
- assert_equal order.shipping.first_name, "Jim"
110
- assert_equal order.shipping.last_name, "Smith"
111
- assert_equal order.shipping.street_address, "1234 My Street"
112
- assert_equal order.shipping.street_address2, "Apt 1"
113
- assert_equal order.shipping.postcode, "K1C2N6"
114
- assert_equal order.shipping.country, "CA"
115
- assert_equal order.billing.marshal_dump, order.shipping.marshal_dump
116
- assert_equal order.created_at, DateTime.new(2014,11,26,16,34,33)
117
- assert_equal order.cc_number, "2822"
118
-
119
- assert_equal order.cc_expires, "1219"
120
- assert_equal order.shipping_method_name, "USPS"
121
- assert_equal order.order_total, BigDecimal.new('4.25')
122
- assert_equal order.transaction_id, '5804215901'
123
- assert_equal order.auth_id, '02553Z'
124
- assert_equal order.campaign_id, 23
125
- end
126
- end
127
- end