Skip to content

Commit 26a9dda

Browse files
committed
Merge branch 'release/v1.2.1'
2 parents 3b7f5a4 + cce6228 commit 26a9dda

8 files changed

Lines changed: 77 additions & 12 deletions

File tree

README.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,22 @@ Certificate methods:
149149
certificate.delete
150150
```
151151

152+
User methods
153+
154+
- Setup Widget
155+
156+
```ruby
157+
args = {
158+
email: 'some@email.com',
159+
tax_id: 'AAA010101AAA',
160+
callback_url: 'http://some-callback.url'
161+
}
162+
163+
user = Mifiel::User.setup_widget(args)
164+
user.widget_id
165+
```
166+
167+
152168
## Contributing
153169

154170
1. Fork it ( https://github.com/[my-github-username]/mifiel/fork )

lib/mifiel.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ module Mifiel
77
autoload :Certificate, 'mifiel/certificate'
88
autoload :Template, 'mifiel/template'
99
autoload :Config, 'mifiel/config'
10+
autoload :User, 'mifiel/user'
1011

1112
BASE_URL = 'https://www.mifiel.com/api/v1'.freeze
1213

lib/mifiel/template.rb

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,15 @@ class Template < Mifiel::Base
55
put :save, '/templates/:id'
66
post :create, '/templates'
77
delete :delete, '/templates/:id'
8+
get :fields, '/templates/:id/fields'
89

910
def generate_document(args = {})
1011
Mifiel::Document.create_from_template(args.merge(template_id: id))
1112
end
1213

13-
def generate_documents(callback_url:, identifier: nil, documents:)
14+
def generate_documents(callback_url:, documents:, identifier: nil)
1415
Mifiel::Document.create_many_from_template(
15-
template_id: template_id,
16+
template_id: id,
1617
identifier: identifier,
1718
documents: documents,
1819
callback_url: callback_url

lib/mifiel/user.rb

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
module Mifiel
2+
class User < Mifiel::Base
3+
post :setup_widget, '/users/setup-widget'
4+
5+
# rubocop:disable Metrics/MethodLength, Metrics/AbcSize
6+
def self.setup_widget(args)
7+
email = args[:email]
8+
tax_id = args[:tax_id]
9+
callback_url = args[:callback_url]
10+
11+
raise ArgumentError, 'Email must be provided' unless email
12+
raise ArgumentError, 'Tax id must be provided' unless tax_id
13+
rest_request = RestClient::Request.new(
14+
url: "#{Mifiel.config.base_url}/users/setup-widget",
15+
method: :post,
16+
payload: {
17+
email: email,
18+
tax_id: tax_id,
19+
callback_url: callback_url
20+
},
21+
ssl_version: 'SSLv23'
22+
)
23+
req = ApiAuth.sign!(rest_request, Mifiel.config.app_id, Mifiel.config.app_secret)
24+
Mifiel::User.new(JSON.parse(req.execute))
25+
end
26+
end
27+
end

lib/mifiel/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
module Mifiel
2-
VERSION = '1.2.0'.freeze
2+
VERSION = '1.2.1'.freeze
33
end

mifiel.gemspec

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
# coding: utf-8
21
lib = File.expand_path('../lib', __FILE__)
32
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3+
44
require 'mifiel/version'
55

6-
# rubocop:disable Metrics/BlockLength
6+
# rubocop:disable Metrics/BlockLength, Layout/ExtraSpacing
77
Gem::Specification.new do |spec|
88
spec.name = 'mifiel'
99
spec.version = Mifiel::VERSION
@@ -19,9 +19,9 @@ Gem::Specification.new do |spec|
1919
spec.require_paths = ['lib']
2020
spec.required_ruby_version = '~> 2.1'
2121

22-
spec.add_runtime_dependency 'rest-client', '>= 1.8'
23-
spec.add_runtime_dependency 'json', '~> 1.8'
2422
spec.add_runtime_dependency 'api-auth', '~> 1.4'
23+
spec.add_runtime_dependency 'json', '~> 1.8'
24+
spec.add_runtime_dependency 'rest-client', '>= 1.8'
2525
# Use Gem::Version to parse the Ruby version for reliable comparison
2626
# ActiveSupport 5+ requires Ruby 2.2.2
2727
if Gem::Version.new(RUBY_VERSION) > Gem::Version.new('2.2.2')
@@ -31,14 +31,14 @@ Gem::Specification.new do |spec|
3131
end
3232
spec.add_runtime_dependency 'flexirest', '~> 1.3.35'
3333

34+
spec.add_development_dependency 'bump', '~> 0.5', '>= 0.5.3'
3435
spec.add_development_dependency 'bundler', '~> 1.6'
35-
spec.add_development_dependency 'rake', '~> 10.0'
36-
spec.add_development_dependency 'rspec', '~> 3.1', '>= 3.1.7'
3736
spec.add_development_dependency 'byebug', '~> 9.0', '< 9.0.6'
3837
spec.add_development_dependency 'pry-byebug', '~> 3.4', '>= 3.3.0'
39-
spec.add_development_dependency 'bump', '~> 0.5', '>= 0.5.3'
40-
spec.add_development_dependency 'webmock', '~> 1.22', '>= 1.22.2'
41-
spec.add_development_dependency 'sinatra', '~> 1.4', '>= 1.4.7'
38+
spec.add_development_dependency 'rake', '~> 10.0'
39+
spec.add_development_dependency 'rspec', '~> 3.1', '>= 3.1.7'
4240
spec.add_development_dependency 'rubocop', '0.47.1'
4341
spec.add_development_dependency 'simplecov', '~> 0.15'
42+
spec.add_development_dependency 'sinatra', '~> 1.4', '>= 1.4.7'
43+
spec.add_development_dependency 'webmock', '~> 1.22', '>= 1.22.2'
4444
end

spec/mifiel/user_spec.rb

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
describe Mifiel::User do
2+
describe '#setup_widget' do
3+
let(:user) do
4+
Mifiel::User.setup_widget(
5+
email: 'user@email.com',
6+
tax_id: 'AAA010101AAA',
7+
callback_url: 'http://some-callback.url/mifiel'
8+
)
9+
end
10+
11+
it { expect(user.success).to be_truthy }
12+
it { expect(user.widget_id).to_not be_nil }
13+
end
14+
end

spec/support/fake_mifiel.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,12 @@ class FakeMifiel < Sinatra::Base
9999
{ bla: 'Correo enviado' }.to_json
100100
end
101101

102+
post '/api/v1/users/setup-widget' do
103+
content_type :json
104+
status 200
105+
{ widget_id: '123bc', success: true }.to_json
106+
end
107+
102108
private
103109

104110
def template(args = {})

0 commit comments

Comments
 (0)