pactas_itero 0.2.0 → 0.3.0

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
  SHA1:
3
- metadata.gz: ef8629b8209731a92d22ab6f26b5551ab30c3939
4
- data.tar.gz: 538e0b3664be929ed9d2a54decfe736878207e63
3
+ metadata.gz: 1bc6c5dcbd7b3d3452d98aaa6fa08a4f2293a940
4
+ data.tar.gz: ab8d8da8107bf030a685408492e9c6811ebdde00
5
5
  SHA512:
6
- metadata.gz: 1a3a65f0f08d41f1828b7afa65972f88091d356c01232d71c7ef2760632e6fdd43bfb0103f97c810ab0967caed0700fb3089326c82fd110687e91ba054ce919d
7
- data.tar.gz: 71176e3d72be35e24cc83f15f90cc50afeaa94d2714c5e31f6dc37194456569e395227bb953809fab46a9e5e5484cc53adde43e84ca64496ad68958237534ec8
6
+ metadata.gz: 5041f67b356be598b7205fdfe4c108cfb83213ffce791f5970a0205129367bf4853381a358b615cafc60048d2ab68f2c67424b75a70c04b5aef17bbb49073b1d
7
+ data.tar.gz: 3783e55053dfb19c92296a7a890b94415be4ad7b45db4e99fd4b5243f490f74cf4e460b9fd9f9a08b84241a48d724ccd87ed6c2fb4e2e45ae06315de0d4a997d
data/CHANGELOG.md CHANGED
@@ -11,6 +11,29 @@
11
11
 
12
12
  ### Security
13
13
 
14
+ ## [0.3.0] - 2017-09-04
15
+ ### Added
16
+ - get a self service token for a given contract
17
+ - get a specific customer by id
18
+ - get and delete rated items
19
+ - get a specific payment transaction by id
20
+ - call to terminate a contract
21
+
22
+ ### Changed
23
+ - update version of jruby to 9.1.5.0
24
+
25
+ ### Deprecated
26
+
27
+ ### Removed
28
+ - support for ruby version 1.8.x and 1.9.x
29
+ - support for rubinius
30
+
31
+ ### Fixed
32
+ - issue where stubbing the PactasItero.client method caused
33
+ a "Stack level too deep" error on rspec > 3.3
34
+
35
+ ### Security
36
+
14
37
  ## [0.2.0] - 2016-02-04
15
38
  ### Added
16
39
  - a changelog
data/Gemfile.lock ADDED
@@ -0,0 +1,65 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ pactas_itero (0.2.0)
5
+ faraday_middleware (>= 0.9.1, < 0.12)
6
+ rash
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ addressable (2.5.0)
12
+ public_suffix (~> 2.0, >= 2.0.2)
13
+ crack (0.4.3)
14
+ safe_yaml (~> 1.0.0)
15
+ diff-lcs (1.3)
16
+ docile (1.1.5)
17
+ faraday (0.12.2)
18
+ multipart-post (>= 1.2, < 3)
19
+ faraday_middleware (0.11.0.1)
20
+ faraday (>= 0.7.4, < 1.0)
21
+ hashdiff (0.3.2)
22
+ hashie (2.0.5)
23
+ json (2.0.2)
24
+ multipart-post (2.0.0)
25
+ public_suffix (2.0.4)
26
+ rake (10.4.2)
27
+ rash (0.4.0)
28
+ hashie (~> 2.0.0)
29
+ rspec (3.6.0)
30
+ rspec-core (~> 3.6.0)
31
+ rspec-expectations (~> 3.6.0)
32
+ rspec-mocks (~> 3.6.0)
33
+ rspec-core (3.6.0)
34
+ rspec-support (~> 3.6.0)
35
+ rspec-expectations (3.6.0)
36
+ diff-lcs (>= 1.2.0, < 2.0)
37
+ rspec-support (~> 3.6.0)
38
+ rspec-mocks (3.6.0)
39
+ diff-lcs (>= 1.2.0, < 2.0)
40
+ rspec-support (~> 3.6.0)
41
+ rspec-support (3.6.0)
42
+ safe_yaml (1.0.4)
43
+ simplecov (0.12.0)
44
+ docile (~> 1.1.0)
45
+ json (>= 1.8, < 3)
46
+ simplecov-html (~> 0.10.0)
47
+ simplecov-html (0.10.0)
48
+ webmock (2.3.2)
49
+ addressable (>= 2.3.6)
50
+ crack (>= 0.3.2)
51
+ hashdiff
52
+
53
+ PLATFORMS
54
+ ruby
55
+
56
+ DEPENDENCIES
57
+ bundler
58
+ pactas_itero!
59
+ rake
60
+ rspec (~> 3.6.0)
61
+ simplecov (~> 0.12.0)
62
+ webmock (~> 2.3)
63
+
64
+ BUNDLED WITH
65
+ 1.15.3
@@ -25,6 +25,16 @@ module PactasItero
25
25
  options = options.camelize_keys
26
26
  get "api/v1/contracts/#{contract_id}/cancellationPreview", options
27
27
  end
28
+
29
+ def get_self_service_token_for_contract(contract_id, options = {})
30
+ options = options.camelize_keys
31
+ get "api/v1/contracts/#{contract_id}/SelfServiceToken", options
32
+ end
33
+
34
+ def terminate_contract(contract_id, options = {})
35
+ options = options.camelize_keys
36
+ post "api/v1/contracts/#{contract_id}/end", options
37
+ end
28
38
  end
29
39
  end
30
40
  end
@@ -1,7 +1,7 @@
1
1
  module PactasItero
2
2
  module Api
3
3
  module Customers
4
- def create_customer(options= {})
4
+ def create_customer(options = {})
5
5
  options = options.camelize_keys
6
6
  post "api/v1/customers", options
7
7
  end
@@ -11,6 +11,11 @@ module PactasItero
11
11
  get "api/v1/customers", options
12
12
  end
13
13
 
14
+ def customer(customer_id, options = {})
15
+ options = options.camelize_keys
16
+ get "api/v1/customers/#{customer_id}", options
17
+ end
18
+
14
19
  def update_customer(customer_id, options = {})
15
20
  options = options.camelize_keys
16
21
  patch "api/v1/customers/#{customer_id}", options
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module PactasItero
4
+ module Api
5
+ module PaymentTransactions
6
+ def payment_transaction(payment_transaction_id)
7
+ get "api/v1/PaymentTransactions/#{payment_transaction_id}"
8
+ end
9
+ end
10
+ end
11
+ end
@@ -11,6 +11,14 @@ module PactasItero
11
11
  options = options.camelize_keys
12
12
  post "api/v1/contracts/#{contract_id}/ratedItems", options
13
13
  end
14
+
15
+ def rated_items(contract_id)
16
+ get "api/v1/contracts/#{contract_id}/ratedItems"
17
+ end
18
+
19
+ def delete_rated_item(rated_item_id)
20
+ delete "api/v1/ratedItems/#{rated_item_id}"
21
+ end
14
22
  end
15
23
  end
16
24
  end
@@ -5,6 +5,7 @@ require 'pactas_itero/api/customers'
5
5
  require 'pactas_itero/api/contracts'
6
6
  require 'pactas_itero/api/orders'
7
7
  require 'pactas_itero/api/invoices'
8
+ require "pactas_itero/api/payment_transactions"
8
9
 
9
10
  module PactasItero
10
11
  module Api
@@ -14,5 +15,6 @@ module PactasItero
14
15
  include PactasItero::Api::Contracts
15
16
  include PactasItero::Api::Orders
16
17
  include PactasItero::Api::Invoices
18
+ include PactasItero::Api::PaymentTransactions
17
19
  end
18
20
  end
@@ -1,3 +1,3 @@
1
1
  module PactasItero
2
- VERSION = "0.2.0".freeze
2
+ VERSION = "0.3.0".freeze
3
3
  end
data/lib/pactas_itero.rb CHANGED
@@ -2,7 +2,6 @@ require 'pactas_itero/client'
2
2
  require 'pactas_itero/default'
3
3
 
4
4
  module PactasItero
5
-
6
5
  class << self
7
6
  include PactasItero::Configurable
8
7
 
@@ -10,20 +9,21 @@ module PactasItero
10
9
  #
11
10
  # @return [PactasItero::Client] API wrapper
12
11
  def client
13
- @client = PactasItero::Client.new(options)
14
- @client
12
+ PactasItero::Client.new(options)
15
13
  end
16
14
 
17
- # @private
18
- def respond_to_missing?(method_name, include_private=false); client.respond_to?(method_name, include_private); end if RUBY_VERSION >= "1.9"
19
- # @private
20
- def respond_to?(method_name, include_private=false); client.respond_to?(method_name, include_private) || super; end if RUBY_VERSION < "1.9"
15
+ def respond_to_missing?(method_name, include_private = false)
16
+ method_name != :client && client.respond_to?(method_name, include_private) || super
17
+ end
21
18
 
22
- private
19
+ private
23
20
 
24
21
  def method_missing(method_name, *args, &block)
25
- return super unless client.respond_to?(method_name)
26
- client.send(method_name, *args, &block)
22
+ if method_name != :client && client.respond_to?(method_name)
23
+ client.send(method_name, *args, &block)
24
+ else
25
+ super
26
+ end
27
27
  end
28
28
  end
29
29
  end
@@ -0,0 +1,79 @@
1
+ {
2
+ "ContractAfter": {
3
+ "Balance": -7.27,
4
+ "BilledUntil": "2017-09-30T22:00:00.0000000Z",
5
+ "BillingSuspended": false,
6
+ "Currency": "EUR",
7
+ "CurrentPhase": {
8
+ "PlanId": "5357b8561d8dd00fa0db6c19",
9
+ "PlanVariantId": "5357b8f11d8dd00fa0db6c1b",
10
+ "Quantity": 1,
11
+ "StartDate": "2017-08-08T12:30:39.8320000Z",
12
+ "Type": "Normal"
13
+ },
14
+ "CustomFields": {},
15
+ "CustomerId": "5922f1eeba5c1e0570f72e04",
16
+ "CustomerName": "Musterfirma",
17
+ "EndDate": "2017-10-01T14:51:29.3390000Z",
18
+ "EscalationSuspended": false,
19
+ "Id": "5922f50b81b1f007e0e4d738",
20
+ "IsDeletable": false,
21
+ "LastBillingDate": "2017-08-31T22:00:00.0000000Z",
22
+ "LifecycleStatus": "Active",
23
+ "NextBillingDate": "2017-09-30T22:00:00.0000000Z",
24
+ "PaymentProvider": "PayOne",
25
+ "PaymentProviderRole": "OnAccount",
26
+ "PaymentProviderSupportRefunds": true,
27
+ "Phases": [
28
+ {
29
+ "PlanId": "5357b8561d8dd00fa0db6c19",
30
+ "PlanVariantId": "5357b8f11d8dd00fa0db6c1b",
31
+ "Quantity": 1,
32
+ "StartDate": "2017-05-22T14:26:19.6390000Z",
33
+ "Type": "Normal"
34
+ },
35
+ {
36
+ "StartDate": "2017-05-22T14:26:20.0000000Z",
37
+ "Type": "Inactive"
38
+ },
39
+ {
40
+ "PlanId": "5357b8561d8dd00fa0db6c19",
41
+ "PlanVariantId": "5357b8f11d8dd00fa0db6c1b",
42
+ "Quantity": 1,
43
+ "StartDate": "2017-08-08T12:30:39.8320000Z",
44
+ "Type": "Normal"
45
+ },
46
+ {
47
+ "StartDate": "2017-10-01T14:51:29.3390000Z",
48
+ "Type": "Inactive"
49
+ }
50
+ ],
51
+ "PlanGroupId": "53567a731d8dd00df056564a",
52
+ "PlanId": "5357b8561d8dd00fa0db6c19",
53
+ "PlanVariantId": "5357b8f11d8dd00fa0db6c1b",
54
+ "RecurringPaymentsPaused": false,
55
+ "ReferenceCode": "NYXC-NPXH",
56
+ "StartDate": "2017-05-22T14:26:19.6390000Z"
57
+ },
58
+ "EndDate": "2017-10-01T14:51:29.3390000Z",
59
+ "Invoice": {
60
+ "ContractId": "5922f50b81b1f007e0e4d738",
61
+ "CustomerId": "5922f1eeba5c1e0570f72e04",
62
+ "ExternalCustomerId": "a0979458",
63
+ "ItemList": [],
64
+ "RecipientAddress": {
65
+ "City": "Musterstadt",
66
+ "Country": "DE",
67
+ "HouseNumber": "123",
68
+ "PostalCode": "12345",
69
+ "Street": "Musterstraße, 123"
70
+ },
71
+ "RecipientName": "Musterfirma",
72
+ "RecipientSubName": "Max Mustermann",
73
+ "ReverseCharge": false,
74
+ "TotalGross": 0,
75
+ "TotalNet": 0,
76
+ "TotalVat": 0,
77
+ "VatDescriptors": []
78
+ }
79
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "Amount": 11.89,
3
+ "ContractId": "592d74a981b1f010f04293a4",
4
+ "Currency": "EUR",
5
+ "CustomerId": "592d74a881b1f010f04293a2",
6
+ "CustomerName": "Example Company",
7
+ "Id": "597de03d81b1ef0d18a46f4e",
8
+ "PaymentProvider": "Example Provider",
9
+ "PaymentProviderRole": "CreditCard",
10
+ "Preauth": false,
11
+ "ProviderTransactionId": "ccec718e-271e-4d0e-b0e1-94894e40c0c7",
12
+ "Status": {
13
+ "Amount": 11.89,
14
+ "HttpCode": 0,
15
+ "Preauth": false,
16
+ "Status": "Succeeded",
17
+ "Timestamp": "2017-07-30T13:33:49.9900000Z"
18
+ },
19
+ "StatusHistory": [
20
+ {
21
+ "Amount": 11.89,
22
+ "HttpCode": 0,
23
+ "Preauth": false,
24
+ "Status": "InProgress",
25
+ "Timestamp": "2017-07-30T13:33:49.9760000Z"
26
+ },
27
+ {
28
+ "Amount": 11.89,
29
+ "HttpCode": 0,
30
+ "Preauth": false,
31
+ "Status": "Succeeded",
32
+ "Timestamp": "2017-07-30T13:33:49.9900000Z"
33
+ }
34
+ ],
35
+ "StatusTimestamp": "2017-07-30T13:33:49.9900000Z",
36
+ "Trigger": "Recurring"
37
+ }
@@ -0,0 +1,12 @@
1
+ [
2
+ {
3
+ "id": "591b847314aa03167c5a3b08",
4
+ "line_item_id": "59308e9781b1ef1190f21478",
5
+ "description": "1x DHL Versandmarken",
6
+ "quantity": 1,
7
+ "price_per_unit": 3.9,
8
+ "tax_policy_id": "tax-policy-id",
9
+ "period_start": "2017-05-15T22:00:00.0000000Z",
10
+ "period_end": "2017-05-15T22:00:00.0000000Z"
11
+ }
12
+ ]
@@ -0,0 +1,6 @@
1
+ {
2
+ "Expiry": "2016-04-07T07:38:49.8019236Z",
3
+ "Token": "522703b9eb596a0f40480825$1378374980$JDBWmg34kr_mFIUFP",
4
+ "Purpose": "CustomerPortal",
5
+ "Url": "https://app.billwerk.com/portal/data/522703b9eb596a0f40480825$1378374980$JDBWIYOmg34kr_mFIUFP/"
6
+ }
@@ -115,4 +115,51 @@ describe PactasItero::Api::Customers do
115
115
  expect(request).to have_been_made
116
116
  end
117
117
  end
118
+
119
+ describe ".terminate_contract" do
120
+ it "requests the correct resource" do
121
+ client = PactasItero::Client.new(bearer_token: "bt")
122
+ request = stub_post("/api/v1/contracts/5922f50b81b1f007e0e4d738/end").
123
+ with(
124
+ body: { EndDate: "2017-10-01T14:51:29.3390000Z" }.to_json,
125
+ ).
126
+ to_return(
127
+ body: fixture("contract_termination_response.json"),
128
+ headers: { content_type: "application/json; charset=utf-8" },
129
+ )
130
+
131
+ client.terminate_contract(
132
+ "5922f50b81b1f007e0e4d738",
133
+ end_date: "2017-10-01T14:51:29.3390000Z",
134
+ )
135
+
136
+ expect(request).to have_been_made
137
+ end
138
+ end
139
+
140
+ describe ".get_self_service_token_for_contract" do
141
+ it "requests the correct resource" do
142
+ client = PactasItero::Client.new(bearer_token: "bt")
143
+ request = stub_get("/api/v1/contracts/5357bc4f1d8dd00fa0db6c31/SelfServiceToken").to_return(
144
+ body: fixture("self_service_token.json"),
145
+ headers: { content_type: "application/json; charset=utf-8" },
146
+ )
147
+
148
+ client.get_self_service_token_for_contract("5357bc4f1d8dd00fa0db6c31")
149
+
150
+ expect(request).to have_been_made
151
+ end
152
+
153
+ it "returns a self service token" do
154
+ client = PactasItero::Client.new(bearer_token: "bt")
155
+ stub_get("/api/v1/contracts/5357bc4f1d8dd00fa0db6c31/SelfServiceToken").to_return(
156
+ body: fixture("self_service_token.json"),
157
+ headers: { content_type: "application/json; charset=utf-8" },
158
+ )
159
+
160
+ self_service_token = client.get_self_service_token_for_contract("5357bc4f1d8dd00fa0db6c31")
161
+
162
+ expect(self_service_token.token).to eq "522703b9eb596a0f40480825$1378374980$JDBWmg34kr_mFIUFP"
163
+ end
164
+ end
118
165
  end
@@ -160,6 +160,47 @@ describe PactasItero::Api::Customers do
160
160
  end
161
161
  end
162
162
 
163
+ describe ".customer" do
164
+ it "requests the correct resource" do
165
+ client = PactasItero::Client.new(bearer_token: "bearer_token")
166
+ request = stub_get("/api/v1/customers/customer-id").to_return(
167
+ body: fixture("customer.json"),
168
+ headers: { content_type: "application/json; charset=utf-8" },
169
+ )
170
+
171
+ client.customer("customer-id")
172
+
173
+ expect(request).to have_been_made
174
+ end
175
+
176
+ it "returns the customer details" do
177
+ client = PactasItero::Client.new(bearer_token: "bearer_token")
178
+ stub_get("/api/v1/customers/customer-id").to_return(
179
+ body: fixture("customer.json"),
180
+ headers: { content_type: "application/json; charset=utf-8" },
181
+ )
182
+
183
+ customer = client.customer("customer-id")
184
+
185
+ address = customer.address
186
+ expect(address.city).to eq "Example City"
187
+ expect(address.country).to eq "DE"
188
+ expect(address.house_number).to eq "42"
189
+ expect(address.postal_code).to eq "12345"
190
+ expect(address.street).to eq "Example Street"
191
+
192
+ expect(customer.company_name).to eq "Example Company"
193
+ expect(customer.default_bearer_medium).to eq"Email"
194
+ expect(customer.email_address).to eq "jane.doe@example.com"
195
+ expect(customer.external_customer_id).to eq "1234"
196
+ expect(customer.first_name).to eq "Jane"
197
+ expect(customer.language).to eq "de-DE"
198
+ expect(customer.last_name).to eq "Doe"
199
+ expect(customer.locale).to eq "de-DE"
200
+ expect(customer.vat_id).to eq "DE123456710"
201
+ end
202
+ end
203
+
163
204
  describe '.update_customer' do
164
205
  it 'requests the correct resource' do
165
206
  client = PactasItero::Client.new(bearer_token: 'bt')
@@ -1,39 +1,43 @@
1
- require 'spec_helper'
1
+ require "spec_helper"
2
2
 
3
3
  describe PactasItero::Api::OAuth do
4
-
5
- describe '#token' do
6
- before do
7
- stub_post("https://a_client_id:a_client_secret@sandbox.billwerk.com/oauth/token").with(
8
- :body => { :grant_type => 'client_credentials' }
9
- ).to_return(
10
- :status => 200,
11
- :body => fixture('bearer_token.json'),
12
- :headers => {
13
- :content_type => 'application/json; charset=utf-8'
14
- }
4
+ describe "#token" do
5
+ it "requests the correct resource" do
6
+ client_credentials_request = stub_post("https://sandbox.billwerk.com/oauth/token").with(
7
+ basic_auth: %w(a_client_id a_client_secret),
8
+ body: "grant_type=client_credentials",
9
+ headers: {
10
+ "Content-Type" => "application/x-www-form-urlencoded; charset=UTF-8",
11
+ },
15
12
  )
16
- end
17
13
 
18
- it 'requests the correct resource' do
19
- client = PactasItero::Client.new(client_id: 'a_client_id', client_secret: 'a_client_secret')
14
+ client = PactasItero::Client.new(client_id: "a_client_id", client_secret: "a_client_secret")
20
15
 
21
16
  client.token
22
17
 
23
- expect(a_post("https://a_client_id:a_client_secret@sandbox.billwerk.com/oauth/token").with(
24
- :body => "grant_type=client_credentials",
25
- :headers => {
26
- 'Content-Type'=>'application/x-www-form-urlencoded; charset=UTF-8'
27
- }
28
- )).to have_been_made
18
+ expect(client_credentials_request).to have_been_made
29
19
  end
30
20
 
31
- it 'returns the bearer token' do
32
- client = PactasItero::Client.new(client_id: 'a_client_id', client_secret: 'a_client_secret')
21
+ it "returns the bearer token" do
22
+ stub_post("https://sandbox.billwerk.com/oauth/token").with(
23
+ basic_auth: %w(a_client_id a_client_secret),
24
+ body: "grant_type=client_credentials",
25
+ headers: {
26
+ "Content-Type" => "application/x-www-form-urlencoded; charset=UTF-8",
27
+ },
28
+ ).to_return(
29
+ status: 200,
30
+ body: fixture("bearer_token.json"),
31
+ headers: {
32
+ content_type: "application/json; charset=utf-8",
33
+ },
34
+ )
35
+
36
+ client = PactasItero::Client.new(client_id: "a_client_id", client_secret: "a_client_secret")
33
37
  bearer_token = client.token
34
38
 
35
- expect(bearer_token.access_token).to eq('top_secret_access_token')
36
- expect(bearer_token.token_type).to eq('bearer')
39
+ expect(bearer_token.access_token).to eq("top_secret_access_token")
40
+ expect(bearer_token.token_type).to eq("bearer")
37
41
  expect(bearer_token.expires).to eq(0)
38
42
  end
39
43
  end
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+ require "spec_helper"
3
+
4
+ describe PactasItero::Api::PaymentTransactions do
5
+ describe ".payment_transaction" do
6
+ it "requests the correct resource" do
7
+ client = PactasItero::Client.new(bearer_token: "bearer_token")
8
+ request = stub_get("/api/v1/PaymentTransactions/payment_transaction_id").to_return(
9
+ body: fixture("payment_transaction.json"),
10
+ headers: { content_type: "application/json; charset=utf-8" },
11
+ )
12
+
13
+ client.payment_transaction("payment_transaction_id")
14
+
15
+ expect(request).to have_been_made
16
+ end
17
+
18
+ it "returns the payment transaction details" do
19
+ client = PactasItero::Client.new(bearer_token: "bearer_token")
20
+ stub_get("/api/v1/PaymentTransactions/payment_transaction_id").to_return(
21
+ body: fixture("payment_transaction.json"),
22
+ headers: { content_type: "application/json; charset=utf-8" },
23
+ )
24
+
25
+ transaction = client.payment_transaction("payment_transaction_id")
26
+
27
+ expect(transaction.amount).to eq 11.89
28
+ expect(transaction.contract_id).to eq "592d74a981b1f010f04293a4"
29
+ expect(transaction.currency).to eq "EUR"
30
+ expect(transaction.customer_id).to eq "592d74a881b1f010f04293a2"
31
+ expect(transaction.customer_name).to eq "Example Company"
32
+ expect(transaction.id).to eq "597de03d81b1ef0d18a46f4e"
33
+ expect(transaction.payment_provider).to eq "Example Provider"
34
+ expect(transaction.payment_provider_role).to eq "CreditCard"
35
+ expect(transaction.preauth).to eq false
36
+ expect(transaction.provider_transaction_id).to eq "ccec718e-271e-4d0e-b0e1-94894e40c0c7"
37
+ expect(transaction.status).to eq(
38
+ "amount" => 11.89,
39
+ "http_code" => 0,
40
+ "preauth" => false,
41
+ "status" => "Succeeded",
42
+ "timestamp" => "2017-07-30T13:33:49.9900000Z",
43
+ )
44
+ expect(transaction.status_history).to eq(
45
+ [
46
+ {
47
+ "amount" => 11.89,
48
+ "http_code" => 0,
49
+ "preauth" => false,
50
+ "status" => "InProgress",
51
+ "timestamp" => "2017-07-30T13:33:49.9760000Z",
52
+ },
53
+ {
54
+ "amount" => 11.89,
55
+ "http_code" => 0,
56
+ "preauth" => false,
57
+ "status" => "Succeeded",
58
+ "timestamp" => "2017-07-30T13:33:49.9900000Z",
59
+ },
60
+ ],
61
+ )
62
+ expect(transaction.status_timestamp).to eq "2017-07-30T13:33:49.9900000Z"
63
+ expect(transaction.trigger).to eq "Recurring"
64
+ end
65
+ end
66
+ end
@@ -71,4 +71,43 @@ describe PactasItero::Api::RatedItems do
71
71
  expect(rated_item.tax_policy_id).to eq 'tax-policy-id'
72
72
  end
73
73
  end
74
+
75
+ describe ".rated_items" do
76
+ it "returns rated items" do
77
+ client = PactasItero::Client.new(bearer_token: 'bt')
78
+ stub_get("/api/v1/contracts/contract-id/ratedItems").
79
+ to_return(
80
+ body: fixture("rated_items.json"),
81
+ headers: { content_type: "application/json; charset=utf-8"}
82
+ )
83
+
84
+ rated_items = client.rated_items("contract-id")
85
+
86
+ expect(rated_items).to be_a Array
87
+ rated_item = rated_items.first
88
+ expect(rated_item.id).to eq "591b847314aa03167c5a3b08"
89
+ expect(rated_item.line_item_id).to eq "59308e9781b1ef1190f21478"
90
+ expect(rated_item.quantity).to eq 1
91
+ expect(rated_item.price_per_unit).to eq 3.9
92
+ expect(rated_item.tax_policy_id).to eq "tax-policy-id"
93
+ expect(rated_item.description).to eq "1x DHL Versandmarken"
94
+ expect(rated_item.period_end).to eq "2017-05-15T22:00:00.0000000Z"
95
+ expect(rated_item.period_start).to eq "2017-05-15T22:00:00.0000000Z"
96
+ end
97
+ end
98
+
99
+ describe ".delete_rated_item" do
100
+ it "deletes a rated item" do
101
+ client = PactasItero::Client.new(bearer_token: 'bt')
102
+ stub_delete("/api/v1/ratedItems/rated-item-id").
103
+ to_return(
104
+ body: "",
105
+ headers: { content_type: "application/json; charset=utf-8"}
106
+ )
107
+
108
+ response = client.delete_rated_item("rated-item-id")
109
+
110
+ expect(response).to be_nil
111
+ end
112
+ end
74
113
  end
@@ -16,6 +16,13 @@ describe PactasItero do
16
16
  it "creates new client everytime" do
17
17
  expect(PactasItero.client).to_not eq(PactasItero.client)
18
18
  end
19
+
20
+ it "allows stubbing the method" do
21
+ pactas_client = instance_double(PactasItero::Client)
22
+ allow(PactasItero).to receive(:client).and_return(pactas_client)
23
+
24
+ expect(PactasItero.client).to be_kind_of RSpec::Mocks::InstanceVerifyingDouble
25
+ end
19
26
  end
20
27
 
21
28
  describe ".configure" do
data/spec/spec_helper.rb CHANGED
@@ -1,8 +1,8 @@
1
1
  require 'simplecov'
2
2
 
3
- SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
3
+ SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new(
4
4
  SimpleCov::Formatter::HTMLFormatter,
5
- ]
5
+ )
6
6
 
7
7
  SimpleCov.start do
8
8
  add_filter '/spec/'
metadata CHANGED
@@ -1,119 +1,119 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pactas_itero
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Simon Fröhler
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-04 00:00:00.000000000 Z
11
+ date: 2017-09-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday_middleware
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 0.9.1
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '0.12'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
25
28
  - !ruby/object:Gem::Version
26
29
  version: 0.9.1
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '0.12'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: rash
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
- - - "~>"
37
+ - - ">="
32
38
  - !ruby/object:Gem::Version
33
- version: 0.4.0
39
+ version: '0'
34
40
  type: :runtime
35
41
  prerelease: false
36
42
  version_requirements: !ruby/object:Gem::Requirement
37
43
  requirements:
38
- - - "~>"
44
+ - - ">="
39
45
  - !ruby/object:Gem::Version
40
- version: 0.4.0
46
+ version: '0'
41
47
  - !ruby/object:Gem::Dependency
42
48
  name: bundler
43
49
  requirement: !ruby/object:Gem::Requirement
44
50
  requirements:
45
- - - "~>"
51
+ - - ">="
46
52
  - !ruby/object:Gem::Version
47
- version: '1.7'
53
+ version: '0'
48
54
  type: :development
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
51
57
  requirements:
52
- - - "~>"
58
+ - - ">="
53
59
  - !ruby/object:Gem::Version
54
- version: '1.7'
60
+ version: '0'
55
61
  - !ruby/object:Gem::Dependency
56
62
  name: rake
57
63
  requirement: !ruby/object:Gem::Requirement
58
64
  requirements:
59
- - - "~>"
65
+ - - ">="
60
66
  - !ruby/object:Gem::Version
61
- version: '10.0'
67
+ version: '0'
62
68
  type: :development
63
69
  prerelease: false
64
70
  version_requirements: !ruby/object:Gem::Requirement
65
71
  requirements:
66
- - - "~>"
72
+ - - ">="
67
73
  - !ruby/object:Gem::Version
68
- version: '10.0'
74
+ version: '0'
69
75
  - !ruby/object:Gem::Dependency
70
76
  name: rspec
71
77
  requirement: !ruby/object:Gem::Requirement
72
78
  requirements:
73
79
  - - "~>"
74
80
  - !ruby/object:Gem::Version
75
- version: '3.0'
81
+ version: 3.6.0
76
82
  type: :development
77
83
  prerelease: false
78
84
  version_requirements: !ruby/object:Gem::Requirement
79
85
  requirements:
80
86
  - - "~>"
81
87
  - !ruby/object:Gem::Version
82
- version: '3.0'
88
+ version: 3.6.0
83
89
  - !ruby/object:Gem::Dependency
84
90
  name: simplecov
85
91
  requirement: !ruby/object:Gem::Requirement
86
92
  requirements:
87
93
  - - "~>"
88
94
  - !ruby/object:Gem::Version
89
- version: '0'
95
+ version: 0.15.0
90
96
  type: :development
91
97
  prerelease: false
92
98
  version_requirements: !ruby/object:Gem::Requirement
93
99
  requirements:
94
100
  - - "~>"
95
101
  - !ruby/object:Gem::Version
96
- version: '0'
102
+ version: 0.15.0
97
103
  - !ruby/object:Gem::Dependency
98
104
  name: webmock
99
105
  requirement: !ruby/object:Gem::Requirement
100
106
  requirements:
101
107
  - - "~>"
102
108
  - !ruby/object:Gem::Version
103
- version: '1.18'
104
- - - ">="
105
- - !ruby/object:Gem::Version
106
- version: 1.18.0
109
+ version: '2.3'
107
110
  type: :development
108
111
  prerelease: false
109
112
  version_requirements: !ruby/object:Gem::Requirement
110
113
  requirements:
111
114
  - - "~>"
112
115
  - !ruby/object:Gem::Version
113
- version: '1.18'
114
- - - ">="
115
- - !ruby/object:Gem::Version
116
- version: 1.18.0
116
+ version: '2.3'
117
117
  description: |-
118
118
  pactas_itero provides a client mapping for accessing
119
119
  the Pactas Itero API, making it easy to post your data to, adn read your
@@ -123,13 +123,9 @@ executables: []
123
123
  extensions: []
124
124
  extra_rdoc_files: []
125
125
  files:
126
- - ".gitignore"
127
- - ".hound.yml"
128
- - ".rubocop.yml"
129
- - ".ruby-style.yml"
130
- - ".travis.yml"
131
126
  - CHANGELOG.md
132
127
  - Gemfile
128
+ - Gemfile.lock
133
129
  - LICENSE.txt
134
130
  - README.md
135
131
  - Rakefile
@@ -140,6 +136,7 @@ files:
140
136
  - lib/pactas_itero/api/invoices.rb
141
137
  - lib/pactas_itero/api/oauth.rb
142
138
  - lib/pactas_itero/api/orders.rb
139
+ - lib/pactas_itero/api/payment_transactions.rb
143
140
  - lib/pactas_itero/api/rated_items.rb
144
141
  - lib/pactas_itero/client.rb
145
142
  - lib/pactas_itero/configurable.rb
@@ -148,11 +145,11 @@ files:
148
145
  - lib/pactas_itero/ext/hash/camelize_keys.rb
149
146
  - lib/pactas_itero/response/raise_error.rb
150
147
  - lib/pactas_itero/version.rb
151
- - pactas_itero.gemspec
152
148
  - spec/fixtures/bearer_token.json
153
149
  - spec/fixtures/commit_order_response.json
154
150
  - spec/fixtures/contract.json
155
151
  - spec/fixtures/contract_cancellation_preview_response.json
152
+ - spec/fixtures/contract_termination_response.json
156
153
  - spec/fixtures/contracts.json
157
154
  - spec/fixtures/create_order_response.json
158
155
  - spec/fixtures/create_rated_item.json
@@ -161,11 +158,15 @@ files:
161
158
  - spec/fixtures/invoice.json
162
159
  - spec/fixtures/invoices.json
163
160
  - spec/fixtures/order.json
161
+ - spec/fixtures/payment_transaction.json
162
+ - spec/fixtures/rated_items.json
163
+ - spec/fixtures/self_service_token.json
164
164
  - spec/pactas_itero/api/contracts_spec.rb
165
165
  - spec/pactas_itero/api/customers_spec.rb
166
166
  - spec/pactas_itero/api/invoices_spec.rb
167
167
  - spec/pactas_itero/api/oauth_spec.rb
168
168
  - spec/pactas_itero/api/orders_spec.rb
169
+ - spec/pactas_itero/api/payment_transactions_spec.rb
169
170
  - spec/pactas_itero/api/rated_items_spec.rb
170
171
  - spec/pactas_itero/client_spec.rb
171
172
  - spec/pactas_itero_spec.rb
@@ -182,7 +183,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
182
183
  requirements:
183
184
  - - ">="
184
185
  - !ruby/object:Gem::Version
185
- version: '0'
186
+ version: '2.0'
186
187
  required_rubygems_version: !ruby/object:Gem::Requirement
187
188
  requirements:
188
189
  - - ">="
@@ -190,7 +191,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
190
191
  version: '0'
191
192
  requirements: []
192
193
  rubyforge_project:
193
- rubygems_version: 2.5.1
194
+ rubygems_version: 2.6.13
194
195
  signing_key:
195
196
  specification_version: 4
196
197
  summary: pactas_itero provides a client mapping for accessing the Pactas Itero API.
@@ -199,6 +200,7 @@ test_files:
199
200
  - spec/fixtures/commit_order_response.json
200
201
  - spec/fixtures/contract.json
201
202
  - spec/fixtures/contract_cancellation_preview_response.json
203
+ - spec/fixtures/contract_termination_response.json
202
204
  - spec/fixtures/contracts.json
203
205
  - spec/fixtures/create_order_response.json
204
206
  - spec/fixtures/create_rated_item.json
@@ -207,11 +209,15 @@ test_files:
207
209
  - spec/fixtures/invoice.json
208
210
  - spec/fixtures/invoices.json
209
211
  - spec/fixtures/order.json
212
+ - spec/fixtures/payment_transaction.json
213
+ - spec/fixtures/rated_items.json
214
+ - spec/fixtures/self_service_token.json
210
215
  - spec/pactas_itero/api/contracts_spec.rb
211
216
  - spec/pactas_itero/api/customers_spec.rb
212
217
  - spec/pactas_itero/api/invoices_spec.rb
213
218
  - spec/pactas_itero/api/oauth_spec.rb
214
219
  - spec/pactas_itero/api/orders_spec.rb
220
+ - spec/pactas_itero/api/payment_transactions_spec.rb
215
221
  - spec/pactas_itero/api/rated_items_spec.rb
216
222
  - spec/pactas_itero/client_spec.rb
217
223
  - spec/pactas_itero_spec.rb
data/.gitignore DELETED
@@ -1,39 +0,0 @@
1
- # Created by https://www.gitignore.io/api/ruby
2
-
3
- ### Ruby ###
4
- *.gem
5
- *.rbc
6
- /.config
7
- /coverage/
8
- /InstalledFiles
9
- /pkg/
10
- /spec/reports/
11
- /spec/examples.txt
12
- /test/tmp/
13
- /test/version_tmp/
14
- /tmp/
15
-
16
- ## Specific to RubyMotion:
17
- .dat*
18
- .repl_history
19
- build/
20
-
21
- ## Documentation cache and generated files:
22
- /.yardoc/
23
- /_yardoc/
24
- /doc/
25
- /rdoc/
26
-
27
- ## Environment normalisation:
28
- /.bundle/
29
- /vendor/bundle
30
- /lib/bundler/man/
31
-
32
- # for a library or gem, you might want to ignore these files since the code is
33
- # intended to run in multiple environments; otherwise, check them in:
34
- Gemfile.lock
35
- .ruby-version
36
- .ruby-gemset
37
-
38
- # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
39
- .rvmrc
data/.hound.yml DELETED
@@ -1,14 +0,0 @@
1
- ruby:
2
- config_file: .ruby-style.yml
3
- scss:
4
- enabled: false
5
- coffeescript:
6
- enabled: false
7
- haml:
8
- config_file: .haml-lint.yml
9
- javascript:
10
- enabled: false
11
- scss:
12
- enabled: false
13
- haml:
14
- enabled: false
data/.rubocop.yml DELETED
@@ -1,2 +0,0 @@
1
- inherit_from:
2
- - .ruby-style.yml
data/.ruby-style.yml DELETED
@@ -1,268 +0,0 @@
1
- AllCops:
2
- TargetRubyVersion: 2.1
3
- Exclude:
4
- - "vendor/**/*"
5
- - "db/schema.rb"
6
- UseCache: false
7
- Rails:
8
- Enabled: true
9
- Rails/FindBy:
10
- Enabled: false
11
- Metrics/LineLength:
12
- Max: 100
13
- Style/CollectionMethods:
14
- Description: Preferred collection methods.
15
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#map-find-select-reduce-size
16
- Enabled: true
17
- PreferredMethods:
18
- collect: map
19
- collect!: map!
20
- find: detect
21
- find_all: select
22
- reduce: inject
23
- Style/DotPosition:
24
- Description: Checks the position of the dot in multi-line method calls.
25
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#consistent-multi-line-chains
26
- Enabled: true
27
- EnforcedStyle: trailing
28
- SupportedStyles:
29
- - trailing
30
- Style/FileName:
31
- Description: Use snake_case for source file names.
32
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#snake-case-files
33
- Enabled: false
34
- Exclude: []
35
- Style/FirstArrayElementLineBreak:
36
- Description: >-
37
- Checks for a line break before the first element in a
38
- multi-line array.
39
- Enabled: true
40
- Style/FirstHashElementLineBreak:
41
- Description: >-
42
- Checks for a line break before the first element in a
43
- multi-line hash.
44
- Enabled: true
45
- Style/FirstMethodArgumentLineBreak:
46
- Description: >-
47
- Checks for a line break before the first argument in a
48
- multi-line method call.
49
- Enabled: true
50
- Style/GuardClause:
51
- Description: Check for conditionals that can be replaced with guard clauses
52
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals
53
- Enabled: false
54
- MinBodyLength: 1
55
- Style/IfUnlessModifier:
56
- Description: Favor modifier if/unless usage when you have a single-line body.
57
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#if-as-a-modifier
58
- Enabled: false
59
- MaxLineLength: 80
60
- Style/OptionHash:
61
- Description: Don't use option hashes when you can use keyword arguments.
62
- Enabled: false
63
- Style/PercentLiteralDelimiters:
64
- Description: Use `%`-literal delimiters consistently
65
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-literal-braces
66
- Enabled: false
67
- PreferredDelimiters:
68
- "%": "()"
69
- "%i": "()"
70
- "%q": "()"
71
- "%Q": "()"
72
- "%r": "{}"
73
- "%s": "()"
74
- "%w": "()"
75
- "%W": "()"
76
- "%x": "()"
77
- Style/PredicateName:
78
- Description: Check the names of predicate methods.
79
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#bool-methods-qmark
80
- Enabled: true
81
- NamePrefix:
82
- - is_
83
- - has_
84
- - have_
85
- NamePrefixBlacklist:
86
- - is_
87
- Exclude:
88
- - spec/**/*
89
- Style/RaiseArgs:
90
- Description: Checks the arguments passed to raise/fail.
91
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#exception-class-messages
92
- Enabled: false
93
- EnforcedStyle: exploded
94
- SupportedStyles:
95
- - compact
96
- - exploded
97
- Style/SignalException:
98
- Description: Checks for proper usage of fail and raise.
99
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#fail-method
100
- Enabled: false
101
- EnforcedStyle: semantic
102
- SupportedStyles:
103
- - only_raise
104
- - only_fail
105
- - semantic
106
- Style/SingleLineBlockParams:
107
- Description: Enforces the names of some block params.
108
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#reduce-blocks
109
- Enabled: false
110
- Methods:
111
- - reduce:
112
- - a
113
- - e
114
- - inject:
115
- - a
116
- - e
117
- Style/SingleLineMethods:
118
- Description: Avoid single-line methods.
119
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-single-line-methods
120
- Enabled: false
121
- AllowIfMethodIsEmpty: true
122
- Style/StringLiterals:
123
- Description: Checks if uses of quotes match the configured preference.
124
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#consistent-string-literals
125
- Enabled: true
126
- EnforcedStyle: double_quotes
127
- SupportedStyles:
128
- - single_quotes
129
- - double_quotes
130
- Style/StringLiteralsInInterpolation:
131
- Description: Checks if uses of quotes inside expressions in interpolated strings
132
- match the configured preference.
133
- Enabled: true
134
- EnforcedStyle: single_quotes
135
- SupportedStyles:
136
- - single_quotes
137
- - double_quotes
138
- Style/TrailingCommaInArguments:
139
- Description: 'Checks for trailing comma in argument lists.'
140
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas'
141
- Enabled: true
142
- EnforcedStyleForMultiline: comma
143
- SupportedStyles:
144
- - comma
145
- - consistent_comma
146
- - no_comma
147
- Style/TrailingCommaInLiteral:
148
- Description: 'Checks for trailing comma in array and hash literals.'
149
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas'
150
- Enabled: true
151
- EnforcedStyleForMultiline: comma
152
- SupportedStyles:
153
- - comma
154
- - consistent_comma
155
- - no_comma
156
- Metrics/AbcSize:
157
- Description: A calculated magnitude based on number of assignments, branches, and
158
- conditions.
159
- Enabled: false
160
- Max: 15
161
- Metrics/ClassLength:
162
- Description: Avoid classes longer than 100 lines of code.
163
- Enabled: false
164
- CountComments: false
165
- Max: 100
166
- Metrics/ModuleLength:
167
- CountComments: false
168
- Max: 100
169
- Description: Avoid modules longer than 100 lines of code.
170
- Enabled: false
171
- Metrics/CyclomaticComplexity:
172
- Description: A complexity metric that is strongly correlated to the number of test
173
- cases needed to validate a method.
174
- Enabled: false
175
- Max: 6
176
- Metrics/MethodLength:
177
- Description: Avoid methods longer than 10 lines of code.
178
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#short-methods
179
- Enabled: false
180
- CountComments: false
181
- Max: 10
182
- Metrics/ParameterLists:
183
- Description: Avoid parameter lists longer than three or four parameters.
184
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#too-many-params
185
- Enabled: false
186
- Max: 5
187
- CountKeywordArgs: true
188
- Metrics/PerceivedComplexity:
189
- Description: A complexity metric geared towards measuring complexity for a human
190
- reader.
191
- Enabled: false
192
- Max: 7
193
- Lint/AssignmentInCondition:
194
- Description: Don't use assignment in conditions.
195
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#safe-assignment-in-condition
196
- Enabled: false
197
- AllowSafeAssignment: true
198
- Style/InlineComment:
199
- Description: Avoid inline comments.
200
- Enabled: false
201
- Style/AccessorMethodName:
202
- Description: Check the naming of accessor methods for get_/set_.
203
- Enabled: false
204
- Style/Alias:
205
- Description: Use alias_method instead of alias.
206
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#alias-method
207
- Enabled: false
208
- Style/Documentation:
209
- Description: Document classes and non-namespace modules.
210
- Enabled: false
211
- Style/DoubleNegation:
212
- Description: Checks for uses of double negation (!!).
213
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-bang-bang
214
- Enabled: false
215
- Style/EachWithObject:
216
- Description: Prefer `each_with_object` over `inject` or `reduce`.
217
- Enabled: false
218
- Style/EmptyLiteral:
219
- Description: Prefer literals to Array.new/Hash.new/String.new.
220
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#literal-array-hash
221
- Enabled: false
222
- Style/ModuleFunction:
223
- Description: Checks for usage of `extend self` in modules.
224
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#module-function
225
- Enabled: false
226
- Style/OneLineConditional:
227
- Description: Favor the ternary operator(?:) over if/then/else/end constructs.
228
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#ternary-operator
229
- Enabled: false
230
- Style/PerlBackrefs:
231
- Description: Avoid Perl-style regex back references.
232
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-perl-regexp-last-matchers
233
- Enabled: false
234
- Style/Send:
235
- Description: Prefer `Object#__send__` or `Object#public_send` to `send`, as `send`
236
- may overlap with existing methods.
237
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#prefer-public-send
238
- Enabled: false
239
- Style/SpecialGlobalVars:
240
- Description: Avoid Perl-style global variables.
241
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-cryptic-perlisms
242
- Enabled: false
243
- Style/VariableInterpolation:
244
- Description: Don't interpolate global, instance and class variables directly in
245
- strings.
246
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#curlies-interpolate
247
- Enabled: false
248
- Style/WhenThen:
249
- Description: Use when x then ... for one-line cases.
250
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#one-line-cases
251
- Enabled: false
252
- Lint/EachWithObjectArgument:
253
- Description: Check for immutable argument given to each_with_object.
254
- Enabled: true
255
- Lint/EndAlignment:
256
- Description: This cop checks whether the end keywords are aligned properly.
257
- AlignWith: variable
258
- Enabled: true
259
- Lint/HandleExceptions:
260
- Description: Don't suppress exception.
261
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#dont-hide-exceptions
262
- Enabled: false
263
- Lint/LiteralInCondition:
264
- Description: Checks of literals used in conditions.
265
- Enabled: false
266
- Lint/LiteralInInterpolation:
267
- Description: Checks for literals used in interpolation.
268
- Enabled: false
data/.travis.yml DELETED
@@ -1,13 +0,0 @@
1
- sudo: false
2
- language: ruby
3
- cache: bundler
4
- rvm:
5
- - 2.2.3
6
- - 2.1.7
7
- - 2.0.0
8
- - 1.9.3
9
- - jruby
10
- - rbx-2
11
- notifications:
12
- flowdock:
13
- secure: fSZxX5z3bHWT8aCFKBFrDDt5o3Jb6EFWcm+pAcMabpfDHc4iktWuCUlSM405798TRdKdws1A2RncQGYiQyLbqNvtLz48dvj4BxgYW7P/vg0koN+I/H2MjpZeuIQ7BRSEJIq2sAYNVya+hSil+SPEBMTngJiP6VYG0dm6fFnRkyk=
data/pactas_itero.gemspec DELETED
@@ -1,32 +0,0 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
3
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'pactas_itero/version'
5
-
6
- Gem::Specification.new do |spec|
7
- spec.name = 'pactas_itero'
8
- spec.version = PactasItero::VERSION
9
- spec.authors = ['Simon Fröhler']
10
- spec.email = "simon@shipcloud.io"
11
- spec.summary = %q{pactas_itero provides a client mapping for accessing
12
- the Pactas Itero API.}
13
- spec.description = %q{pactas_itero provides a client mapping for accessing
14
- the Pactas Itero API, making it easy to post your data to, adn read your
15
- data from your Pactas account.}
16
- spec.homepage = 'https://github.com/webionate/pactas_itero'
17
- spec.license = 'MIT'
18
-
19
- spec.files = `git ls-files`.split("\n")
20
- spec.test_files = `git ls-files -- spec/*`.split("\n")
21
- spec.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
22
- spec.require_paths = ['lib']
23
-
24
- spec.add_dependency('faraday_middleware', '~> 0.9.1')
25
- spec.add_dependency('rash', '~> 0.4.0')
26
-
27
- spec.add_development_dependency 'bundler', '~> 1.7'
28
- spec.add_development_dependency 'rake', '~> 10.0'
29
- spec.add_development_dependency "rspec", '~> 3.0'
30
- spec.add_development_dependency("simplecov", "~> 0")
31
- spec.add_development_dependency("webmock", "~> 1.18", ">= 1.18.0")
32
- end