hello_sign 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,13 @@
1
+ require 'hello_sign/client'
2
+
3
+ module HelloSign
4
+ class Account
5
+ attr_reader :email, :password
6
+
7
+ def initialize(email, password)
8
+ @email = email
9
+ @password = password
10
+ end
11
+
12
+ end
13
+ end
@@ -0,0 +1,26 @@
1
+ require 'hello_sign/account'
2
+
3
+ module HelloSign
4
+ class AccountProxy
5
+
6
+ def create(credentials)
7
+ email = credentials.fetch(:email)
8
+ password = credentials.fetch(:password)
9
+
10
+ create_account(email, password)
11
+
12
+ Account.new(email, password)
13
+ end
14
+
15
+ private
16
+
17
+ def create_account(email, password)
18
+ client.post('/v3/account/create', {:email_address => email, :password => password})
19
+ end
20
+
21
+ def client
22
+ HelloSign.client
23
+ end
24
+
25
+ end
26
+ end
@@ -0,0 +1,26 @@
1
+ require 'faraday'
2
+
3
+ module HelloSign
4
+ class Client
5
+ attr_reader :email, :password
6
+
7
+ def initialize(email, password)
8
+ @email = email
9
+ @password = password
10
+ end
11
+
12
+ def post(path, body)
13
+ connection.post(path, body)
14
+ end
15
+
16
+ private
17
+
18
+ def connection
19
+ @connection ||= Faraday.new(:url => 'https://api.hellosign.com') do |faraday|
20
+ faraday.request :url_encoded
21
+ faraday.adapter Faraday.default_adapter
22
+ end
23
+ end
24
+
25
+ end
26
+ end
@@ -1,3 +1,3 @@
1
1
  module HelloSign
2
- VERSION = '0.0.1'
2
+ VERSION = '0.0.2'
3
3
  end
data/lib/hello_sign.rb CHANGED
@@ -1,12 +1,22 @@
1
1
  require 'hello_sign/version'
2
+ require 'hello_sign/client'
3
+ require 'hello_sign/account_proxy'
2
4
 
3
5
  module HelloSign
4
- def self.account
5
- AccountProxy.new
6
- end
6
+ class << self
7
+ attr_accessor :email, :password
8
+
9
+ def account
10
+ AccountProxy.new
11
+ end
7
12
 
8
- class AccountProxy
9
- def create(credentials)
13
+ def client
14
+ @client ||= Client.new(email, password)
10
15
  end
16
+
17
+ def configure
18
+ yield(self)
19
+ end
20
+
11
21
  end
12
22
  end
data/spec/helper.rb ADDED
@@ -0,0 +1,11 @@
1
+ require 'hello_sign'
2
+
3
+ RSpec.configure do |config|
4
+ config.expect_with :rspec do |c|
5
+ c.syntax = :expect
6
+ end
7
+
8
+ config.color_enabled = true
9
+ config.tty = true
10
+ config.formatter = :documentation
11
+ end
@@ -1,12 +1,16 @@
1
- require File.expand_path('../spec_helper', __FILE__)
2
- require File.expand_path('../../../lib/hello_sign', __FILE__)
1
+ require 'integration/helper'
3
2
 
4
3
  describe HelloSign do
5
- it "creates a new account" do
6
- account = HelloSign.account.create(:email => 'david@bowman.com', :password => 'foobar')
4
+ context "when creating an account" do
5
+ before do
6
+ stub_request(:post, 'https://api.hellosign.com/v3/account/create')
7
+ HelloSign.account.create(:email => 'david@bowman.com', :password => 'foobar')
8
+ end
7
9
 
8
- a_request(:post, 'https://api.hellosign.com/v3/account/create')
9
- .with(:body => {:email => 'david@bowman.com', :password => 'foobar'})
10
- .should have_been_made.once
10
+ it "sends an account creation request to the HelloSign API" do
11
+ expect(a_request(:post, 'https://api.hellosign.com/v3/account/create')
12
+ .with(:body => {:email_address => 'david@bowman.com', :password => 'foobar'}))
13
+ .to have_been_made
14
+ end
11
15
  end
12
16
  end
@@ -0,0 +1,2 @@
1
+ require 'helper'
2
+ require 'webmock/rspec'
@@ -0,0 +1,7 @@
1
+ require 'helper'
2
+
3
+ describe HelloSign::Account do
4
+ describe "#create" do
5
+
6
+ end
7
+ end
@@ -0,0 +1,9 @@
1
+ require 'helper'
2
+
3
+ describe HelloSign do
4
+ describe "::account" do
5
+ it "returns an account proxy" do
6
+ expect(HelloSign.account).to be_a HelloSign::AccountProxy
7
+ end
8
+ end
9
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hello_sign
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,8 +9,24 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-01-17 00:00:00.000000000 Z
12
+ date: 2013-01-19 00:00:00.000000000 Z
13
13
  dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: faraday
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: 0.8.4
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: 0.8.4
14
30
  - !ruby/object:Gem::Dependency
15
31
  name: rspec
16
32
  requirement: !ruby/object:Gem::Requirement
@@ -43,24 +59,23 @@ dependencies:
43
59
  - - ~>
44
60
  - !ruby/object:Gem::Version
45
61
  version: 1.9.0
46
- description: This is a wrapper written in Ruby for accessing HelloSign's REST API.
62
+ description: A Ruby interface to the HelloSign API.
47
63
  email:
48
64
  - craiglttl@gmail.com
49
65
  executables: []
50
66
  extensions: []
51
67
  extra_rdoc_files: []
52
68
  files:
53
- - .gitignore
54
- - Gemfile
55
- - LICENSE.txt
56
- - README.md
57
- - Rakefile
58
- - hello_sign.gemspec
59
- - lib/hello_sign.rb
69
+ - lib/hello_sign/account.rb
70
+ - lib/hello_sign/account_proxy.rb
71
+ - lib/hello_sign/client.rb
60
72
  - lib/hello_sign/version.rb
73
+ - lib/hello_sign.rb
74
+ - spec/helper.rb
61
75
  - spec/integration/account_spec.rb
62
- - spec/integration/spec_helper.rb
63
- - spec/spec_helper.rb
76
+ - spec/integration/helper.rb
77
+ - spec/unit/account_spec.rb
78
+ - spec/unit/hello_sign_spec.rb
64
79
  homepage: http://www.github.com/craiglittle/hello_sign
65
80
  licenses: []
66
81
  post_install_message:
@@ -84,8 +99,10 @@ rubyforge_project:
84
99
  rubygems_version: 1.8.24
85
100
  signing_key:
86
101
  specification_version: 3
87
- summary: a ruby wrapper for the HelloSign API
102
+ summary: A Ruby interface to the HelloSign API.
88
103
  test_files:
104
+ - spec/helper.rb
89
105
  - spec/integration/account_spec.rb
90
- - spec/integration/spec_helper.rb
91
- - spec/spec_helper.rb
106
+ - spec/integration/helper.rb
107
+ - spec/unit/account_spec.rb
108
+ - spec/unit/hello_sign_spec.rb
data/.gitignore DELETED
@@ -1,17 +0,0 @@
1
- *.gem
2
- *.rbc
3
- .bundle
4
- .config
5
- .yardoc
6
- Gemfile.lock
7
- InstalledFiles
8
- _yardoc
9
- coverage
10
- doc/
11
- lib/bundler/man
12
- pkg
13
- rdoc
14
- spec/reports
15
- test/tmp
16
- test/version_tmp
17
- tmp
data/Gemfile DELETED
@@ -1,3 +0,0 @@
1
- source :rubygems
2
-
3
- gemspec
data/LICENSE.txt DELETED
@@ -1,22 +0,0 @@
1
- Copyright (c) 2013 Craig Little
2
-
3
- MIT License
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining
6
- a copy of this software and associated documentation files (the
7
- "Software"), to deal in the Software without restriction, including
8
- without limitation the rights to use, copy, modify, merge, publish,
9
- distribute, sublicense, and/or sell copies of the Software, and to
10
- permit persons to whom the Software is furnished to do so, subject to
11
- the following conditions:
12
-
13
- The above copyright notice and this permission notice shall be
14
- included in all copies or substantial portions of the Software.
15
-
16
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md DELETED
@@ -1,11 +0,0 @@
1
- # HelloSign
2
-
3
- a ruby wrapper for the HelloSign API
4
-
5
- ## Contributing
6
-
7
- 1. Fork it
8
- 2. Create your feature branch (`git checkout -b my-new-feature`)
9
- 3. Commit your changes (`git commit -am 'Add some feature'`)
10
- 4. Push to the branch (`git push origin my-new-feature`)
11
- 5. Create new Pull Request
data/Rakefile DELETED
@@ -1 +0,0 @@
1
- require 'bundler/gem_tasks'
data/hello_sign.gemspec DELETED
@@ -1,24 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
- #
3
- lib = File.expand_path('../lib', __FILE__)
4
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
-
6
- require 'hello_sign/version'
7
-
8
- Gem::Specification.new do |gem|
9
- gem.name = 'hello_sign'
10
- gem.version = HelloSign::VERSION
11
- gem.authors = ['Craig Little']
12
- gem.email = ['craiglttl@gmail.com']
13
- gem.description = %q{This is a wrapper written in Ruby for accessing HelloSign's REST API.}
14
- gem.summary = %q{a ruby wrapper for the HelloSign API}
15
- gem.homepage = 'http://www.github.com/craiglittle/hello_sign'
16
-
17
- gem.files = `git ls-files`.split($/)
18
- gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
19
- gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
20
- gem.require_paths = ['lib']
21
-
22
- gem.add_development_dependency('rspec', '~> 2.12.0')
23
- gem.add_development_dependency('webmock', '~> 1.9.0')
24
- end
@@ -1,3 +0,0 @@
1
- require File.expand_path('../spec_helper', __FILE__)
2
-
3
- require 'webmock/rspec'
data/spec/spec_helper.rb DELETED
@@ -1,5 +0,0 @@
1
- RSpec.configure do |config|
2
- config.expect_with :rspec do |c|
3
- c.syntax = :expect
4
- end
5
- end