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 +4 -4
- data/README.md +9 -0
- data/Rakefile +2 -2
- data/VERSION +1 -1
- data/lib/generators/install_generator.rb +11 -0
- data/lib/generators/templates/venmo_initalizer.rb +4 -0
- data/lib/tasks/venmo_tasks.rake +6 -0
- data/lib/venmo.rb +27 -0
- data/lib/venmo/config.rb +21 -0
- data/lib/venmo/sender.rb +43 -0
- data/venmo.gemspec +9 -6
- metadata +8 -5
- data/README.rdoc +0 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1511af4363e4e06fcda3d7a5d18d9590e0822427
|
4
|
+
data.tar.gz: edadbf7da85ec3453a1dd24da95eddb45020c808
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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{
|
21
|
-
gem.description = %Q{
|
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.
|
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
|
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
|
data/lib/venmo/config.rb
ADDED
@@ -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
|
data/lib/venmo/sender.rb
ADDED
@@ -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.
|
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
|
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 = "
|
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.
|
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
|
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:
|
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
|
-
|