venmo 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
  SHA1:
3
- metadata.gz: 57cc8766f7efe10f2a31250ac25834040ed1e93a
4
- data.tar.gz: aafd1031eda8ee8d564597d0201a2d8a08fefdf6
3
+ metadata.gz: 1511af4363e4e06fcda3d7a5d18d9590e0822427
4
+ data.tar.gz: edadbf7da85ec3453a1dd24da95eddb45020c808
5
5
  SHA512:
6
- metadata.gz: 5978c84b482bd23e2f42f1039e32c54de226e13cdff6899a21c196f6e05fab2f5a92443226f2a5c337e61cd40357462b8458e60c3f4e5b9676bcc231cc34b339
7
- data.tar.gz: bfed5e681da7bfe633b7a1bc59341f95fcfea9e95e9e2d218e81089a0183c09f6e9987c6fa707c46bfe922f78666d5c00136f0e535857ef99523bf52bf6723d6
6
+ metadata.gz: 5b1025d10ec7247cb897ec34ced14a98ea60c8dac680df4769d56cd6679f307595d96f7dcad2ff649d416676b476ad37c291b5916772e92b190b3e5e8406c11f
7
+ data.tar.gz: 19ff2c288cbad0a17452fbfa8e84960b76e88af15c93f217c45c91ba6cef3aa2fff89bc853b98f3eb88a36a540b8feeb9c54edfa6a0da39d172ea0512fa2d7e4
data/README.md CHANGED
@@ -2,3 +2,12 @@ venmo
2
2
  =====
3
3
 
4
4
  Venmo API Integration
5
+
6
+ After install update these values to reflect your Environment
7
+
8
+ Venmo.configure do |c|
9
+ c.access_token= "My Super Secret API"
10
+ c.privacy= "private"
11
+ #private, public, friends are vaild options
12
+ #see Venmo documentation
13
+ end
data/Rakefile CHANGED
@@ -17,8 +17,8 @@ Jeweler::Tasks.new do |gem|
17
17
  gem.name = "venmo"
18
18
  gem.homepage = "http://github.com/Blue-Dog-Archolite/venmo"
19
19
  gem.license = "MIT"
20
- gem.summary = %Q{TODO: one-line summary of your gem}
21
- gem.description = %Q{TODO: longer description of your gem}
20
+ gem.summary = %Q{Gem to integrate with Venmo payment services}
21
+ gem.description = %Q{Gem using curl to post to Venmo payment gateway}
22
22
  gem.email = "Blue.Dog.Archolite@gmail.com"
23
23
  gem.authors = ["Robert R. Meyer"]
24
24
  # dependencies defined in Gemfile
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.1.1
@@ -0,0 +1,11 @@
1
+
2
+ module NoNotifierNeeded
3
+ class InstallGenerator < Rails::Generators::Base
4
+ source_root File.expand_path(File.join(File.dirname(__FILE__), "templates"))
5
+
6
+ def copy_config
7
+ #Config file
8
+ copy_file 'venmo_initalizer.rb', 'config/initializers/no_notifier_needed_initalizer.rb'
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,4 @@
1
+ Venmo.configure do |c|
2
+ c.access_token= "My Super Secret API"
3
+ c.privacy= "private"
4
+ end
@@ -0,0 +1,6 @@
1
+ namespace :venmo do
2
+ desc "install the default files"
3
+ task :install do
4
+ load File.expand_path(File.join(File.dirname(__FILE__), "..", "generators", "install_generator.rb"))
5
+ end
6
+ end
data/lib/venmo.rb CHANGED
@@ -0,0 +1,27 @@
1
+ require 'venmo/config'
2
+ require 'venmo/sender'
3
+
4
+ module Venmo
5
+ extend Config
6
+
7
+ def self.configure
8
+ yield self
9
+ end
10
+
11
+ def self.sender(options={})
12
+ Venmo::Sender.new(options)
13
+ end
14
+
15
+ def self.configure
16
+ yield self
17
+ end
18
+
19
+ def self.method_missing(method, *args, &block)
20
+ return super unless sender.respond_to?(method)
21
+ sender.send(method, *args, &block)
22
+ end
23
+
24
+ def self.respond_to?(method)
25
+ return sender.respond_to?(method) || super
26
+ end
27
+ end
@@ -0,0 +1,21 @@
1
+ module Venmo
2
+ module Config
3
+
4
+ VALID_OPTIONS_KEYS = [
5
+ :access_token,
6
+
7
+ #will default to private if not set
8
+ :privacy
9
+ ].freeze
10
+
11
+ # @private
12
+ attr_accessor *VALID_OPTIONS_KEYS
13
+
14
+ # Create a hash of options and their values
15
+ def options
16
+ VALID_OPTIONS_KEYS.inject({}) do |option, key|
17
+ option.merge!(key => send(key))
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,43 @@
1
+ module Venmo
2
+ module Sender
3
+
4
+ def pay_by_email(email, amount, note)
5
+ send_hash= common(amount,note, { :email => email})
6
+ core_pay
7
+ # -d email= \
8
+ end
9
+
10
+ def pay_by_user_id(user_id, amount, note
11
+ send_hash= common(amount,note, {:user_id => user_id})
12
+ core_pay
13
+ # -d user_id= \
14
+ end
15
+
16
+ def pay_by_phone_number(phone_number, amount, note)
17
+ send_hash = common(amount,note, {:phone_number=> phone_number})
18
+ core_pay
19
+ # -d phone= \
20
+ end
21
+
22
+ protected
23
+ def common(amount, note, merge_in)
24
+ {amount: amount,
25
+ note: note}.merge(merge_in)
26
+ end
27
+
28
+ def core_pay
29
+ base_url = "curl https://api.venmo.com/payments \ -d"
30
+ to_send = base_url+send_hash.join('\ -d')
31
+ end
32
+
33
+ def send_hash=(update_hash)
34
+ send_hash
35
+ @send_hash.merge(update_hash)
36
+ end
37
+
38
+ def send_hash
39
+ @send_hash ||= {access_token: Venmo::Config.access_token,
40
+ audience: (Venmo::Config.privacy || "private")}
41
+ end
42
+ end
43
+ end
data/venmo.gemspec CHANGED
@@ -5,17 +5,16 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "venmo"
8
- s.version = "0.1.0"
8
+ s.version = "0.1.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Robert R. Meyer"]
12
12
  s.date = "2013-05-14"
13
- s.description = "Gem for using Venmo's Payment system"
13
+ s.description = "Gem using curl to post to Venmo payment gateway"
14
14
  s.email = "Blue.Dog.Archolite@gmail.com"
15
15
  s.extra_rdoc_files = [
16
16
  "LICENSE.txt",
17
- "README.md",
18
- "README.rdoc"
17
+ "README.md"
19
18
  ]
20
19
  s.files = [
21
20
  ".document",
@@ -24,10 +23,14 @@ Gem::Specification.new do |s|
24
23
  "Gemfile.lock",
25
24
  "LICENSE.txt",
26
25
  "README.md",
27
- "README.rdoc",
28
26
  "Rakefile",
29
27
  "VERSION",
28
+ "lib/generators/install_generator.rb",
29
+ "lib/generators/templates/venmo_initalizer.rb",
30
+ "lib/tasks/venmo_tasks.rake",
30
31
  "lib/venmo.rb",
32
+ "lib/venmo/config.rb",
33
+ "lib/venmo/sender.rb",
31
34
  "test/helper.rb",
32
35
  "test/test_venmo.rb",
33
36
  "venmo.gemspec"
@@ -36,7 +39,7 @@ Gem::Specification.new do |s|
36
39
  s.licenses = ["MIT"]
37
40
  s.require_paths = ["lib"]
38
41
  s.rubygems_version = "2.0.3"
39
- s.summary = "Uses Venmo API to pay anyone!"
42
+ s.summary = "Gem to integrate with Venmo payment services"
40
43
 
41
44
  if s.respond_to? :specification_version then
42
45
  s.specification_version = 4
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: venmo
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
  - Robert R. Meyer
@@ -80,14 +80,13 @@ dependencies:
80
80
  - - '>='
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
- description: Gem for using Venmo's Payment system
83
+ description: Gem using curl to post to Venmo payment gateway
84
84
  email: Blue.Dog.Archolite@gmail.com
85
85
  executables: []
86
86
  extensions: []
87
87
  extra_rdoc_files:
88
88
  - LICENSE.txt
89
89
  - README.md
90
- - README.rdoc
91
90
  files:
92
91
  - .document
93
92
  - .rvmrc
@@ -95,10 +94,14 @@ files:
95
94
  - Gemfile.lock
96
95
  - LICENSE.txt
97
96
  - README.md
98
- - README.rdoc
99
97
  - Rakefile
100
98
  - VERSION
99
+ - lib/generators/install_generator.rb
100
+ - lib/generators/templates/venmo_initalizer.rb
101
+ - lib/tasks/venmo_tasks.rake
101
102
  - lib/venmo.rb
103
+ - lib/venmo/config.rb
104
+ - lib/venmo/sender.rb
102
105
  - test/helper.rb
103
106
  - test/test_venmo.rb
104
107
  - venmo.gemspec
@@ -125,5 +128,5 @@ rubyforge_project:
125
128
  rubygems_version: 2.0.3
126
129
  signing_key:
127
130
  specification_version: 4
128
- summary: Uses Venmo API to pay anyone!
131
+ summary: Gem to integrate with Venmo payment services
129
132
  test_files: []
data/README.rdoc DELETED
@@ -1,19 +0,0 @@
1
- = venmo
2
-
3
- Gem for integration with Venmo payment systems.
4
-
5
- == Contributing to venmo
6
-
7
- * Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet.
8
- * Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it.
9
- * Fork the project.
10
- * Start a feature/bugfix branch.
11
- * Commit and push until you are happy with your contribution.
12
- * Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
13
- * Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
14
-
15
- == Copyright
16
-
17
- Copyright (c) 2013 Robert R. Meyer. See LICENSE.txt for
18
- further details.
19
-