quickbooks-sinatra-app 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 795713487bae38631b93ee3e9ea02b0a115b2e8c
4
+ data.tar.gz: 8f5b74d88c216cb932298dd082ebe3dc5b2b37ba
5
+ SHA512:
6
+ metadata.gz: e2b8438382b171c9ffd7ec436f2b032fbf5a56367ef97607e4f4c4a3486fa710d5dc9d8be5ad1e775d3194c65e7c4f37aa407a76aef8856d093279071413d56d
7
+ data.tar.gz: fab4ddd3e325cc0f649d4c3554672fe2cf7f63be0c49c6add54a14d2f9d16aab41776fd716d4e9fa24b6171e7aa3ed5f4bd5a65eef4832c39bd7e06b3a9eafe8
data/.gitignore ADDED
@@ -0,0 +1 @@
1
+ *.gem
data/Gemfile ADDED
@@ -0,0 +1,5 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
4
+
5
+ gem 'omniauth-quickbooks', :git => 'https://github.com/pickle27/omniauth-quickbooks.git'
data/README.md ADDED
@@ -0,0 +1,4 @@
1
+ Quickbooks-Sinatra-App
2
+ ======================
3
+
4
+ Sinatra extension for building Quickbooks Online Apps
@@ -0,0 +1,47 @@
1
+ require 'sinatra/base'
2
+ require 'omniauth-quickbooks'
3
+
4
+ module Sinatra
5
+ module Quickbooks
6
+
7
+ module Methods
8
+ def base_url
9
+ @base_url ||= "#{request.env['rack.url_scheme']}://#{request.env['HTTP_HOST']}"
10
+ end
11
+ end
12
+
13
+ def self.registered(app)
14
+ app.helpers Quickbooks::Methods
15
+
16
+ app.enable :sessions
17
+
18
+ app.set :secret, ENV['SECRET']
19
+
20
+ app.set :qbo_key, ENV['QBO_KEY']
21
+ app.set :qbo_secret, ENV['QBO_SECRET']
22
+
23
+ app.use Rack::Session::Cookie, :key => '#{base_url}.session',
24
+ :path => '/',
25
+ :secret => app.settings.secret,
26
+ :expire_after => 60*30 # half an hour in seconds
27
+
28
+ app.use OmniAuth::Builder do
29
+ provider :quickbooks, app.settings.qbo_key, app.settings.qbo_secret
30
+ end
31
+
32
+ app.get '/auth/quickbooks/callback' do
33
+ token = request.env['omniauth.auth']['credentials']['token']
34
+ session[:token] = token
35
+ session[:realm_id] = params['realmId']
36
+
37
+ erb 'Your QuickBooks account has been successfully linked', :layout => false
38
+ end
39
+
40
+ app.get '/auth/failure' do
41
+ erb "<h1>Authentication Failed:</h1>
42
+ <h3>message:<h3> <pre>#{params}</pre>", :layout => false
43
+ end
44
+ end
45
+
46
+ end
47
+ end
@@ -0,0 +1,19 @@
1
+ Gem::Specification.new do |s|
2
+ s.name = 'quickbooks-sinatra-app'
3
+ s.version = '0.0.1'
4
+
5
+ s.summary = "A classy quickbooks app"
6
+ s.description = "A Sinatra extension for building Quickbooks Online Apps."
7
+
8
+ s.authors = ["Kevin Hughes"]
9
+ s.email = "kevin.hughes@shopify.com"
10
+ s.homepage = "https://github.com/pickle27/quickbooks-sinatra-app/"
11
+ s.license = 'MIT'
12
+
13
+ s.files = `git ls-files`.split("\n")
14
+
15
+ s.add_runtime_dependency 'sinatra'
16
+ s.add_runtime_dependency 'omniauth-oauth'
17
+ s.add_runtime_dependency 'multi_json' # required by omniauth-oauth - https://github.com/intridea/omniauth-oauth/pull/4
18
+ s.add_runtime_dependency 'omniauth-quickbooks' # ensure your version has this: https://github.com/davidlumley/omniauth-quickbooks/pull/2
19
+ end
metadata ADDED
@@ -0,0 +1,104 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: quickbooks-sinatra-app
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Kevin Hughes
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-12-17 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: sinatra
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: omniauth-oauth
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: multi_json
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: omniauth-quickbooks
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ description: A Sinatra extension for building Quickbooks Online Apps.
70
+ email: kevin.hughes@shopify.com
71
+ executables: []
72
+ extensions: []
73
+ extra_rdoc_files: []
74
+ files:
75
+ - ".gitignore"
76
+ - Gemfile
77
+ - README.md
78
+ - lib/sinatra/quickbooks-sinatra-app.rb
79
+ - quickbooks-sinatra-app.gemspec
80
+ homepage: https://github.com/pickle27/quickbooks-sinatra-app/
81
+ licenses:
82
+ - MIT
83
+ metadata: {}
84
+ post_install_message:
85
+ rdoc_options: []
86
+ require_paths:
87
+ - lib
88
+ required_ruby_version: !ruby/object:Gem::Requirement
89
+ requirements:
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ version: '0'
93
+ required_rubygems_version: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: '0'
98
+ requirements: []
99
+ rubyforge_project:
100
+ rubygems_version: 2.2.2
101
+ signing_key:
102
+ specification_version: 4
103
+ summary: A classy quickbooks app
104
+ test_files: []