nuvemshop 0.1.0 → 0.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
  SHA256:
3
- metadata.gz: f42327f74d6d6e4bb185dd88853629b2ef035ef7e4fd26b295ec234bbeb04012
4
- data.tar.gz: 39aaefb3334b0fc951a87151e841580c66ef5691e641441e1861f8f534fd126c
3
+ metadata.gz: 55d13102f48056bc0c30a4a698aff0807daedcd59e524a74998081dc3fad2eab
4
+ data.tar.gz: 594917b2e9d9d17c8871ed38f22aa3d97aff5dbbd9c649bdedff8df0a7b7e4fe
5
5
  SHA512:
6
- metadata.gz: 368209d80ce189ff9ee474379570fb8c6af0c99e0534c2683d3b0a13815d38c6c61042c3bdbedff529ae8d57102a22aa1211706bfce4be5fe6464dcbd94efc33
7
- data.tar.gz: f06e3f5de4822ea751de805681aed5d4bfba9038210e4acbb597faac3c0687148cb599508a2d5e073d6f9f1cc58e3e5d7b6c0b1d464c3a7b3e5629086456bcca
6
+ metadata.gz: 2fe42bc6093fc00bb2fa585a265b240af6fc228682370934d0fd6401aeddfa50a1b7192fabf310f19e0e6d4cb4b1674b79b204f7fb1fab2b5b633d5af4fc44ee
7
+ data.tar.gz: ad6e3ee539c30cfb28063fe66c54162b11cc50bb0b0826717ad8f4974f89bad30e3b4ca8144f2a437ca18862c50d8827dd226c569d4b93afc8aaaefee26d4d60
@@ -0,0 +1,18 @@
1
+ name: CI
2
+ on: [pull_request]
3
+ jobs:
4
+ test:
5
+ runs-on: ubuntu-latest
6
+ steps:
7
+ - uses: actions/checkout@v2
8
+ - name: Setup Ruby
9
+ uses: ruby/setup-ruby@v1
10
+ with:
11
+ ruby-version: 2.7.2
12
+
13
+ - name: Build and run tests
14
+ run: |
15
+ gem install bundler
16
+ bundle install --jobs 4 --retry 3
17
+ bundle exec rubocop -l
18
+ bundle exec rspec
data/.rspec CHANGED
@@ -1,3 +1,3 @@
1
- --format documentation
1
+ --format progress
2
2
  --color
3
3
  --require spec_helper
data/.rubocop.yml CHANGED
@@ -11,6 +11,7 @@ AllCops:
11
11
  Layout/LineLength:
12
12
  AutoCorrect: true
13
13
  Max: 120
14
+ IgnoredPatterns: ['^ *# ']
14
15
  Layout/SpaceAroundMethodCallOperator:
15
16
  Enabled: false
16
17
  Layout/IndentationConsistency:
@@ -82,3 +83,11 @@ Style/SingleArgumentDig:
82
83
  Style/MutableConstant:
83
84
  Enabled: true
84
85
  AutoCorrect: true
86
+ RSpec/FilePath:
87
+ Enabled: false
88
+ RSpec/ExampleLength:
89
+ Enabled: true
90
+ CountAsOne: ['array', 'heredoc', 'hash']
91
+ Max: 15
92
+ RSpec/MultipleExpectations:
93
+ Enabled: false
data/Gemfile CHANGED
@@ -2,6 +2,3 @@ source "https://rubygems.org"
2
2
 
3
3
  # Specify your gem's dependencies in nuvemshop.gemspec
4
4
  gemspec
5
-
6
- gem "rake", "~> 13.0"
7
- gem "rspec", "~> 3.0"
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- nuvemshop (0.1.0)
4
+ nuvemshop (0.1.1)
5
5
  httparty (~> 0.18)
6
6
 
7
7
  GEM
@@ -10,6 +10,7 @@ GEM
10
10
  ast (2.4.2)
11
11
  coderay (1.1.3)
12
12
  diff-lcs (1.4.4)
13
+ docile (1.3.5)
13
14
  httparty (0.18.1)
14
15
  mime-types (~> 3.0)
15
16
  multi_xml (>= 0.5.2)
@@ -59,7 +60,14 @@ GEM
59
60
  rubocop (~> 1.0)
60
61
  rubocop-ast (>= 1.1.0)
61
62
  ruby-progressbar (1.11.0)
63
+ simplecov (0.21.2)
64
+ docile (~> 1.1)
65
+ simplecov-html (~> 0.11)
66
+ simplecov_json_formatter (~> 0.1)
67
+ simplecov-html (0.12.3)
68
+ simplecov_json_formatter (0.1.2)
62
69
  unicode-display_width (2.0.0)
70
+ yard (0.9.26)
63
71
 
64
72
  PLATFORMS
65
73
  ruby
@@ -72,6 +80,8 @@ DEPENDENCIES
72
80
  rubocop (~> 1.12)
73
81
  rubocop-performance (~> 1.11)
74
82
  rubocop-rspec (~> 2.2)
83
+ simplecov
84
+ yard
75
85
 
76
86
  BUNDLED WITH
77
87
  2.1.4
data/README.md CHANGED
@@ -1,8 +1,11 @@
1
1
  # NuvemshopRuby
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/nuvemshop`. To experiment with that code, run `bin/console` for an interactive prompt.
3
+ This is a Wrapper for Nuvemshop/Tiendanube API. his gem is a work in progress. If you like to contribute, please get in touch!
4
4
 
5
- TODO: Delete this and the text above, and describe your gem
5
+ ## Working Features
6
+
7
+ - `Nuvemshop::Orders.all`
8
+ - `Nuvemshop::Orders.show`
6
9
 
7
10
  ## Installation
8
11
 
@@ -22,19 +25,23 @@ Or install it yourself as:
22
25
 
23
26
  ## Usage
24
27
 
25
- TODO: Write usage instructions here
26
-
27
- ## Development
28
-
29
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
30
-
31
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
28
+ If you use rails you can add this code below in `config/initializers/nuvemshop.rb`
29
+ ```
30
+ require 'nuvemshop'
31
+
32
+ Nuvemshop.configure do |config|
33
+ config.client_id = 'your_client_id'
34
+ config.client_secret = 'your_client_secret'
35
+ config.user_agent = 'Your Company/Name (your_email@domain.com)'
36
+ config.store_access_token = 'your_store_access_token'
37
+ config.store_user_id = 'your_user_id'
38
+ end
39
+ ```
32
40
 
33
41
  ## Contributing
34
42
 
35
43
  Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/nuvemshop-ruby. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/[USERNAME]/nuvemshop_ruby/blob/master/CODE_OF_CONDUCT.md).
36
44
 
37
-
38
45
  ## License
39
46
 
40
47
  The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
data/lib/nuvemshop.rb CHANGED
@@ -1,29 +1,40 @@
1
1
  require 'pp'
2
2
  require 'httparty'
3
3
 
4
+ require 'nuvemshop/inflections/infer_key_class_name'
5
+ require 'nuvemshop/inflections/pascal_case'
6
+
4
7
  require 'nuvemshop/extensions/credentiable'
5
8
  require 'nuvemshop/extensions/mass_assignment'
6
9
 
7
10
  require 'nuvemshop/version'
8
11
  require 'nuvemshop/response'
9
12
  require 'nuvemshop/request'
13
+ require 'nuvemshop/base_model'
14
+ require 'nuvemshop/extras/timestampz'
15
+
16
+ require 'nuvemshop/order'
17
+ require 'nuvemshop/order/promotional_discount'
18
+ require 'nuvemshop/order/payment_details'
19
+ require 'nuvemshop/order/timestampz'
20
+ require 'nuvemshop/order/address'
21
+ require 'nuvemshop/order/client_details'
22
+ require 'nuvemshop/product/image'
23
+ require 'nuvemshop/product'
10
24
  require 'nuvemshop/orders'
25
+ require 'nuvemshop/customer'
11
26
 
12
27
  module Nuvemshop
13
28
  class Error < StandardError; end
14
29
 
15
30
  class << self
16
31
  attr_accessor :client_id, :client_secret
17
- attr_writer :api_version, :user_agent, :store_access_token, :store_user_id
32
+ attr_writer :user_agent, :store_access_token, :store_user_id
18
33
 
19
- def config
34
+ def configure
20
35
  yield self
21
36
  end
22
37
 
23
- def api_version
24
- @api_version ||= 'v1'
25
- end
26
-
27
38
  def user_agent
28
39
  @user_agent ||= 'Nuvemshop Gem(https://github.com/alexandreh92/nuvemshop-ruby)'
29
40
  end
@@ -0,0 +1,46 @@
1
+ module Nuvemshop
2
+ class BaseModel < Object
3
+ include Extensions::MassAssignment
4
+
5
+ ##
6
+ # Intercepts attr_acessor call, and assign it value to a variable named @attributes
7
+ def self.attr_accessor(*vars)
8
+ @attributes ||= []
9
+ @attributes.concat vars
10
+ super(*vars)
11
+ end
12
+
13
+ ##
14
+ # Getter to expose @attributes to class object
15
+ def self.attributes
16
+ @attributes
17
+ end
18
+
19
+ ##
20
+ # Getter to expose @attributes to class instance
21
+ def attributes
22
+ self.class.attributes
23
+ end
24
+
25
+ ##
26
+ # Overwrite default Ruby pretty_print(q) method to act as ActiveRecord's output
27
+ def pretty_print(pp)
28
+ pp.object_address_group(self) do
29
+ variables = self.class.attributes.map do |attribute|
30
+ attribute.to_s.delete(':')
31
+ end
32
+
33
+ pp.seplist(variables, proc { pp.text ',' }) do |attr_name|
34
+ pp.breakable ' '
35
+ pp.group(1) do
36
+ pp.text attr_name
37
+ pp.text ':'
38
+ pp.breakable
39
+ value = send(attr_name.to_sym) || nil
40
+ pp.pp value
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,19 @@
1
+ module Nuvemshop
2
+ class Customer < BaseModel
3
+ attr_accessor :id, :name, :email, :identification, :phone, :note, :default_address, :addresses, :billing_name,
4
+ :billing_phone, :billing_address, :billing_number, :billing_floor, :billing_locality,
5
+ :billing_zipcode, :billing_city, :billing_province, :billing_country, :extra, :total_spent,
6
+ :total_spent_currency, :last_order_id, :active, :created_at, :updated_at
7
+
8
+ private
9
+
10
+ def after_initialize
11
+ set_attributes
12
+ end
13
+
14
+ def set_attributes
15
+ @default_address = Nuvemshop::Order::Address.new(default_address)
16
+ @addresses = addresses&.map { |addr| Order::Address.new(addr) } || []
17
+ end
18
+ end
19
+ end
@@ -1,9 +1,10 @@
1
1
  module Nuvemshop
2
2
  module Extensions
3
3
  module MassAssignment
4
- def initialize(options = {})
4
+ # Assigns getter and setter for each pair key/value
5
+ def initialize(opts = {})
5
6
  before_initialize if respond_to?(:before_initialize, true)
6
- options.each { |key, value| public_send("#{key}=", value) }
7
+ opts&.each { |key, value| public_send("#{key.to_sym}=", value) }
7
8
  after_initialize if respond_to?(:after_initialize, true)
8
9
  end
9
10
  end
@@ -0,0 +1,7 @@
1
+ module Nuvemshop
2
+ module Extras
3
+ class Timestampz < BaseModel
4
+ attr_accessor :date, :timezone_type, :timezone
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,9 @@
1
+ module Nuvemshop
2
+ module Inflections
3
+ def self.infer_key_class_name(klass, key)
4
+ Object.const_get(klass.to_s.split('::')[0..-2].push(pascal_case(key)).join('::'))
5
+ rescue NameError
6
+ Nuvemshop::GenericModel
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,7 @@
1
+ module Nuvemshop
2
+ module Inflections
3
+ def self.pascal_case(key)
4
+ key.split('_').map(&:capitalize).join
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,30 @@
1
+ module Nuvemshop
2
+ class Order < BaseModel
3
+ attr_accessor :id, :token, :store_id, :shipping_min_days, :shipping_max_days, :billing_name, :billing_phone,
4
+ :billing_address, :billing_number, :billing_floor, :billing_locality, :billing_zipcode, :billing_city,
5
+ :billing_province, :billing_country, :shipping_cost_owner, :shipping_cost_customer, :coupon,
6
+ :promotional_discount, :subtotal, :discount, :discount_coupon, :discount_gateway, :total,
7
+ :total_usd, :checkout_enabled, :weight, :currency, :language, :gateway, :gateway_id, :shipping,
8
+ :shipping_option, :shipping_option_code, :shipping_option_reference, :shipping_pickup_details,
9
+ :shipping_tracking_number, :shipping_tracking_url, :shipping_store_branch_name, :shipping_pickup_type,
10
+ :shipping_suboption, :extra, :storefront, :note, :created_at, :updated_at, :completed_at,
11
+ :next_action, :payment_details, :attributes, :customer, :products, :number, :cancel_reason,
12
+ :owner_note, :cancelled_at, :closed_at, :read_at, :status, :payment_status, :shipping_address,
13
+ :shipping_status, :shipped_at, :paid_at, :landing_url, :client_details, :app_id
14
+
15
+ private
16
+
17
+ def after_initialize
18
+ assing_variables
19
+ end
20
+
21
+ def assing_variables
22
+ @promotional_discount = Order::PromotionalDiscount.new(promotional_discount)
23
+ @completed_at = Extras::Timestampz.new(completed_at)
24
+ @payment_details = Order::PaymentDetails.new(payment_details)
25
+ @customer = Customer.new(customer)
26
+ @products = products&.map { |prod| Product.new(prod) } || []
27
+ @client_details = Order::ClientDetails.new(client_details)
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,24 @@
1
+ module Nuvemshop
2
+ class Order < BaseModel
3
+ # @attr [String] address The address of this object.
4
+ # @attr [String] city The city of this object.
5
+ # @attr [String] country The country of this object.
6
+ # @attr [String] position The position of this object.
7
+ # @attr [String] created_at The created_at of this object.
8
+ # @attr [String] default The default of this object.
9
+ # @attr [String] floor The floor of this object.
10
+ # @attr [String] id The id of this object.
11
+ # @attr [String] locality The locality of this object.
12
+ # @attr [String] name The name of this object.
13
+ # @attr [String] number The number of this object.
14
+ # @attr [String] phone The phone of this object.
15
+ # @attr [String] updated_at The updated_at of this object.
16
+ # @attr [String] zipcode The zipcode of this object.
17
+ # @attr [String] province The province of this object.
18
+ # Related to {TiendaNube-Docs Order/Address}[https://github.com/tiendanube/api-docs/blob/master/resources/order.md#address]
19
+ class Address < BaseModel
20
+ attr_accessor :address, :city, :country, :created_at, :default, :floor, :id, :locality,
21
+ :name, :number, :phone, :province, :updated_at, :zipcode
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,9 @@
1
+ module Nuvemshop
2
+ class Order < BaseModel
3
+ # @attr [String] browser_ip The browser_ip of this object.
4
+ # @attr [String] user_agent The user_agent of this object.
5
+ class ClientDetails < BaseModel
6
+ attr_accessor :browser_ip, :user_agent
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,7 @@
1
+ module Nuvemshop
2
+ class Order < BaseModel
3
+ class PaymentDetails < BaseModel
4
+ attr_accessor :method, :credit_card_company, :installments
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,8 @@
1
+ module Nuvemshop
2
+ class Order < BaseModel
3
+ class PromotionalDiscount < BaseModel
4
+ attr_accessor :id, :store_id, :order_id, :created_at, :total_discount_amount, :contents,
5
+ :promotions_applied
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,6 @@
1
+ module Nuvemshop
2
+ class Order < BaseModel
3
+ class Timestampz < Extras::Timestampz
4
+ end
5
+ end
6
+ end
@@ -5,7 +5,10 @@ module Nuvemshop
5
5
  PATH = 'orders'.freeze
6
6
 
7
7
  def self.all(opts = {})
8
- new(access_token: opts[:access_token], user_id: opts[:user_id]).get(
8
+ response = new(
9
+ access_token: opts[:access_token],
10
+ user_id: opts[:user_id]
11
+ ).get(
9
12
  action: PATH,
10
13
  query: {
11
14
  since_id: opts[:since_id],
@@ -27,6 +30,22 @@ module Nuvemshop
27
30
  app_id: opts[:app_id]
28
31
  }
29
32
  )
33
+
34
+ respond_with(response, Nuvemshop::Order)
35
+ end
36
+
37
+ def self.show(opts = {})
38
+ response = new(
39
+ access_token: opts[:access_token],
40
+ user_id: opts[:user_id]
41
+ ).get(
42
+ action: "#{PATH}/#{opts[:order_id]}",
43
+ query: {
44
+ fields: opts[:fields]
45
+ }
46
+ )
47
+
48
+ respond_with(response, Nuvemshop::Order)
30
49
  end
31
50
  end
32
51
  end
@@ -0,0 +1,17 @@
1
+ module Nuvemshop
2
+ class Product < BaseModel
3
+ attr_accessor :id, :depth, :height, :name, :price, :product_id, :image,
4
+ :quantity, :free_shipping, :weight, :width, :variant_id, :variant_values,
5
+ :properties, :sku, :barcode
6
+
7
+ private
8
+
9
+ def after_initialize
10
+ assing_variables
11
+ end
12
+
13
+ def assing_variables
14
+ @image = Product::Image.new(image)
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,14 @@
1
+ module Nuvemshop
2
+ class Product < BaseModel
3
+ # @attr [String] id The id of this object.
4
+ # @attr [String] product_id The product_id of this object.
5
+ # @attr [String] src The src of this object.
6
+ # @attr [String] position The position of this object.
7
+ # @attr [String] alt The alt of this object.
8
+ # @attr [String] created_at The created_at of this object.
9
+ # @attr [String] updated_at The updated_at of this object.
10
+ class Image < BaseModel
11
+ attr_accessor :id, :product_id, :src, :position, :alt, :created_at, :updated_at
12
+ end
13
+ end
14
+ end
@@ -32,12 +32,18 @@ module Nuvemshop
32
32
  perform_request(__method__, opts)
33
33
  end
34
34
 
35
- private
35
+ def self.respond_with(response, formatter)
36
+ Response.new(response, formatter)
37
+ end
36
38
 
37
- def self.respond_with(response); end
39
+ private
38
40
 
39
41
  def perform_request(method, opts = {})
40
- self.class.send(method.to_sym, path(opts[:action]), merge_options(opts))
42
+ response = self.class.send(method.to_sym, path(opts[:action]), merge_options(opts))
43
+
44
+ raise Error, response unless response.success?
45
+
46
+ response
41
47
  end
42
48
 
43
49
  def merge_options(opts = {})
@@ -1,13 +1,24 @@
1
1
  module Nuvemshop
2
2
  class Response < Object
3
- attr_reader :response, :body, :code, :headers, :parsed_response
3
+ attr_reader :response, :body, :code, :headers, :parsed_response, :formatter
4
4
 
5
- def initialize(response)
5
+ def initialize(response, formatter = nil)
6
6
  @response = response
7
7
  @code = response.code
8
8
  @body = response.body
9
9
  @headers = response.headers
10
10
  @parsed_response = response.parsed_response
11
+ @formatter = formatter
12
+ end
13
+
14
+ def format
15
+ return unless formatter
16
+
17
+ @parsed_response = if parsed_response.is_a?(Array)
18
+ parsed_response.map { |pr| formatter.new(pr) }
19
+ else
20
+ formatter.new(parsed_response)
21
+ end
11
22
  end
12
23
 
13
24
  def to_s
@@ -24,6 +35,8 @@ module Nuvemshop
24
35
  end
25
36
 
26
37
  def pretty_print(pp)
38
+ format
39
+
27
40
  if !parsed_response.nil? && parsed_response.respond_to?(:pretty_print)
28
41
  parsed_response.pretty_print(pp)
29
42
  else
@@ -1,3 +1,3 @@
1
1
  module Nuvemshop
2
- VERSION = '0.1.0'
2
+ VERSION = '0.1.1'.freeze
3
3
  end
data/nuvemshop.gemspec CHANGED
@@ -6,8 +6,8 @@ Gem::Specification.new do |spec|
6
6
  spec.authors = ['Alexandre Stapenhorst']
7
7
  spec.email = ['eng.alexandreh@gmail.com']
8
8
 
9
- spec.summary = 'Write a short summary, because RubyGems requires one.'
10
- spec.description = 'Write a longer description or delete this line.'
9
+ spec.summary = 'A wrapper for Nuvemshop/TiendaNube API'
10
+ spec.description = 'This gem is a work in progress. If you like to contribute, please get in touch!'
11
11
  spec.homepage = 'https://github.com/alexandreh92/nuvemshop-ruby'
12
12
  spec.license = 'MIT'
13
13
  spec.required_ruby_version = Gem::Requirement.new('>= 2.3.0')
@@ -36,4 +36,8 @@ Gem::Specification.new do |spec|
36
36
  spec.add_development_dependency 'rubocop-performance', '~> 1.11'
37
37
  spec.add_development_dependency 'rubocop-rspec', '~> 2.2'
38
38
  spec.add_development_dependency 'pry'
39
+ spec.add_development_dependency 'rake', '~> 13.0'
40
+ spec.add_development_dependency 'rspec', '~> 3.0'
41
+ spec.add_development_dependency 'simplecov'
42
+ spec.add_development_dependency 'yard'
39
43
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nuvemshop
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexandre Stapenhorst
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-04-26 00:00:00.000000000 Z
11
+ date: 2021-04-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -80,7 +80,64 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
- description: Write a longer description or delete this line.
83
+ - !ruby/object:Gem::Dependency
84
+ name: rake
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '13.0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '13.0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rspec
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '3.0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '3.0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: simplecov
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: yard
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ description: This gem is a work in progress. If you like to contribute, please get
140
+ in touch!
84
141
  email:
85
142
  - eng.alexandreh@gmail.com
86
143
  executables: []
@@ -88,6 +145,7 @@ extensions: []
88
145
  extra_rdoc_files: []
89
146
  files:
90
147
  - ".editorconfig"
148
+ - ".github/workflows/ci.yml"
91
149
  - ".gitignore"
92
150
  - ".rspec"
93
151
  - ".rubocop.yml"
@@ -101,9 +159,22 @@ files:
101
159
  - bin/console
102
160
  - bin/setup
103
161
  - lib/nuvemshop.rb
162
+ - lib/nuvemshop/base_model.rb
163
+ - lib/nuvemshop/customer.rb
104
164
  - lib/nuvemshop/extensions/credentiable.rb
105
165
  - lib/nuvemshop/extensions/mass_assignment.rb
166
+ - lib/nuvemshop/extras/timestampz.rb
167
+ - lib/nuvemshop/inflections/infer_key_class_name.rb
168
+ - lib/nuvemshop/inflections/pascal_case.rb
169
+ - lib/nuvemshop/order.rb
170
+ - lib/nuvemshop/order/address.rb
171
+ - lib/nuvemshop/order/client_details.rb
172
+ - lib/nuvemshop/order/payment_details.rb
173
+ - lib/nuvemshop/order/promotional_discount.rb
174
+ - lib/nuvemshop/order/timestampz.rb
106
175
  - lib/nuvemshop/orders.rb
176
+ - lib/nuvemshop/product.rb
177
+ - lib/nuvemshop/product/image.rb
107
178
  - lib/nuvemshop/request.rb
108
179
  - lib/nuvemshop/response.rb
109
180
  - lib/nuvemshop/version.rb
@@ -134,5 +205,5 @@ requirements: []
134
205
  rubygems_version: 3.0.8
135
206
  signing_key:
136
207
  specification_version: 4
137
- summary: Write a short summary, because RubyGems requires one.
208
+ summary: A wrapper for Nuvemshop/TiendaNube API
138
209
  test_files: []