quickbooks-sinatra-app 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: []