myoack 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.
data/.gitignore ADDED
@@ -0,0 +1,3 @@
1
+ .bundler
2
+ .bundle
3
+ doc
data/Gemfile ADDED
@@ -0,0 +1,5 @@
1
+ source "http://rubygems.org"
2
+ gem 'sinatra'
3
+ gem 'oauth'
4
+ gem 'oauth2'
5
+ gem 'multi_xml'
data/Gemfile.lock ADDED
@@ -0,0 +1,31 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ faraday (0.8.0)
5
+ multipart-post (~> 1.1)
6
+ httpauth (0.1)
7
+ multi_json (1.3.2)
8
+ multi_xml (0.4.4)
9
+ multipart-post (1.1.5)
10
+ oauth (0.4.6)
11
+ oauth2 (0.6.1)
12
+ faraday (~> 0.7)
13
+ httpauth (~> 0.1)
14
+ multi_json (~> 1.3)
15
+ rack (1.4.1)
16
+ rack-protection (1.2.0)
17
+ rack
18
+ sinatra (1.3.2)
19
+ rack (~> 1.3, >= 1.3.6)
20
+ rack-protection (~> 1.2)
21
+ tilt (~> 1.3, >= 1.3.3)
22
+ tilt (1.3.3)
23
+
24
+ PLATFORMS
25
+ ruby
26
+
27
+ DEPENDENCIES
28
+ multi_xml
29
+ oauth
30
+ oauth2
31
+ sinatra
data/NOTE.rdoc ADDED
@@ -0,0 +1,17 @@
1
+
2
+ == About Twitter
3
+
4
+ * API Document: https://dev.twitter.com/docs
5
+ * Application Registration: https://dev.twitter.com/apps
6
+ * You should set "http://www.example.com/dummy/oauth/callback" into the callback URL. (You can set any URL unless it is empty. But maybe "www.example.com" will be better.)
7
+
8
+ == About Tumblr
9
+
10
+ * API Document: http://www.tumblr.com/docs/en/api/v2
11
+ * Application Registration: http://www.tumblr.com/oauth/apps
12
+ * You MUST set "http://localhost:13480/oauth/callback" into the default callback URL.
13
+
14
+ == About GitHub
15
+
16
+ * API Document: http://developer.github.com/v3/
17
+ * Application Registration: https://github.com/settings/applications
data/README.rdoc ADDED
@@ -0,0 +1,28 @@
1
+ = Myoack
2
+
3
+ * http://github.com/pasberth/Myoack
4
+
5
+ == Description
6
+
7
+ Defaults on the authorization to scribbled script by My OAuth Consumer Key
8
+
9
+ == Usage
10
+
11
+ === Only a authorize on the web service at first.
12
+
13
+ Get a your consumer key from OAuth authorization wbe service.
14
+ for example, take it from https://dev.twitter.com/apps when you like the twitter.
15
+
16
+ Set the consumer key into "$HOME/.myoack/keys.yml".
17
+
18
+ twitter:
19
+ consumer_key: YOUR_CONSUMER_KEY
20
+ consumer_secret: YOUR_CONSUMER_SECRET
21
+
22
+ Run command "myoack-local-authorization-server.rb". this command will use 13480 port.
23
+
24
+ Run command "myoack.rb --auth <ID>"
25
+
26
+ $ myoack.rb --auth twitter
27
+
28
+ Let's scribble some short and simple script, and use consumer key and access token in the script.
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.0.1
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+ require 'myoack/as_lib'
3
+ require 'myoack/local_authorization'
4
+ Myoack::LocalAuthorization.run!(:host => Myoack::LocalAuthorization::HOST, :port => Myoack::LocalAuthorization::PORT)
data/bin/myoack.rb ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rubygems'
4
+ require 'myoack'
5
+ Myoack::Config.main(*ARGV)
@@ -0,0 +1,13 @@
1
+ require 'myoack'
2
+ require 'oauth2'
3
+ require 'json'
4
+ require 'pp'
5
+
6
+ cfg = Myoack::Config.require_config(:github)
7
+ client = OAuth2::Client.new( cfg.client_id,
8
+ cfg.client_secret,
9
+ :site => cfg.site,
10
+ :authorize_url => cfg.authorize_url,
11
+ :token_url => cfg.access_token_url )
12
+ acs = OAuth2::AccessToken.new( client, cfg.access_token )
13
+ pp JSON.parse(acs.get('/gists').body)
@@ -0,0 +1,15 @@
1
+ require 'myoack'
2
+ require 'oauth'
3
+ require 'json'
4
+ require 'pp'
5
+
6
+ cfg = Myoack::Config.require_config(:twitter)
7
+ consumer = OAuth::Consumer.new(
8
+ cfg.consumer_key,
9
+ cfg.consumer_secret,
10
+ :site => cfg.site)
11
+ acs = OAuth::AccessToken.new(
12
+ consumer,
13
+ cfg.access_token,
14
+ cfg.access_token_secret)
15
+ pp JSON.parse(acs.get('/statuses/mentions.json').body)
@@ -0,0 +1,18 @@
1
+ require 'tumblife'
2
+ require 'myoack'
3
+ require 'oauth'
4
+ require 'json'
5
+ require 'pp'
6
+
7
+ cfg = Myoack::Config.require_config(:tumblr)
8
+ consumer = OAuth::Consumer.new(
9
+ cfg.consumer_key,
10
+ cfg.consumer_secret,
11
+ :site => cfg.site)
12
+ acs = OAuth::AccessToken.new(
13
+ consumer,
14
+ cfg.access_token,
15
+ cfg.access_token_secret)
16
+
17
+ tumb = Tumblife.new acs
18
+ pp tumb.dashboard.posts
@@ -0,0 +1,5 @@
1
+ module Myoack
2
+
3
+ require 'myoack/as_lib'
4
+ Config.init_as_cli
5
+ end
@@ -0,0 +1,10 @@
1
+ module Myoack
2
+
3
+ require 'rubygems'
4
+ require 'myoack/config_manager'
5
+ require 'myoack/key_config'
6
+ require 'myoack/twitter'
7
+ require 'myoack/github'
8
+ require 'myoack/tumblr'
9
+ require 'myoack/local_authorization'
10
+ end
@@ -0,0 +1,99 @@
1
+ require 'optparse'
2
+
3
+ module Myoack
4
+
5
+ MYOACK_HOME = File.join(ENV["HOME"], '.myoack')
6
+
7
+ class ConfigManager
8
+
9
+ def initialize home=MYOACK_HOME
10
+ @home = home
11
+ @init_file_path = File.join(@home, 'init.rb')
12
+ @keys_file_path = File.join(@home, 'keys.yml')
13
+ @configs = {}
14
+ @config_types = {}
15
+ @config_classes = {}
16
+ end
17
+
18
+ def option_parser
19
+ OptionParser.new.tap do |opts|
20
+ opts.on('--authorize ID', 'Try authorize me on the <ID> which is in "$HOME/.myoack/keys.yml".') { |id| authorize(id) }
21
+ end
22
+ end
23
+
24
+ def main *argv
25
+ init_as_cli
26
+ option_parser.parse! argv
27
+ end
28
+
29
+ def init_as_cli
30
+ configure_all
31
+ if File.exist? @init_file_path
32
+ load @init_file_path
33
+ end
34
+ end
35
+
36
+ def authorize! id
37
+ cfg = require_config(id)
38
+ cfg.authorize!
39
+ end
40
+
41
+ alias authorize authorize!
42
+
43
+ def << cfgclass
44
+ cfg = cfgclass.new(self)
45
+ add_config(cfgclass.id, cfg) if cfgclass.id
46
+ add_config_type(cfgclass.type, cfgclass) if cfgclass.type
47
+ configure cfgclass.id
48
+ end
49
+
50
+ attr_reader :init_file_path
51
+ attr_reader :keys_file_path
52
+ attr_reader :configs
53
+ attr_reader :config_types
54
+ attr_reader :config_classes
55
+
56
+ def load_keys_file
57
+ YAML.load_file @keys_file_path
58
+ end
59
+
60
+ def dump_config_file cfg
61
+ open @keys_file_path, 'w' do |f|
62
+ f.write YAML.dump(cfg)
63
+ end
64
+ end
65
+
66
+ def configure_all
67
+ cfg = load_keys_file
68
+ cfg.each do |id, sitecfg|
69
+ configure(id, sitecfg) if configs.key? id or sitecfg["site"] && sitecfg["type"]
70
+ end
71
+ true
72
+ end
73
+
74
+ def configure id, sitecfg=nil, cfg=nil
75
+ return nil unless id
76
+ sitecfg ||= load_keys_file[id.to_s] or return nil
77
+ cfg ||= configs[id.to_s] ||
78
+ ( cfgclass = config_types[sitecfg["type"]];
79
+ cfgclass and cfgclass.new(self)) or return nil
80
+ sitecfg.each { |k,v| cfg.send(:"#{k}=", v) }
81
+ add_config id, cfg
82
+ cfg
83
+ end
84
+
85
+ def add_config id, cfg
86
+ configs[id.to_s] = cfg
87
+ end
88
+
89
+ def add_config_type type, cfgclass
90
+ config_types[type.to_s] = cfgclass
91
+ end
92
+
93
+ def require_config id
94
+ configs[id.to_s] or (configure id; configs[id.to_s]) or raise "Myoack don't know '#{id}'."
95
+ end
96
+ end
97
+
98
+ Config = ConfigManager.new(MYOACK_HOME)
99
+ end
@@ -0,0 +1,13 @@
1
+ require 'myoack/as_lib'
2
+
3
+ module Myoack
4
+ class GitHubConfig < OAuth2Config
5
+
6
+ auto_config :github
7
+ default :site, "https://api.github.com"
8
+ default :authorize_url, "https://github.com/login/oauth/authorize"
9
+ default :access_token_url, "https://github.com/login/oauth/access_token"
10
+ end
11
+
12
+ Config << GitHubConfig
13
+ end
@@ -0,0 +1,165 @@
1
+ require 'yaml'
2
+ require 'myoack/config_manager'
3
+
4
+ module Myoack
5
+
6
+ class KeyConfig
7
+ attr_accessor :id
8
+ attr_accessor :type
9
+
10
+ def self.id *a
11
+ if a.empty?
12
+ @id
13
+ else
14
+ @id = a[0].to_s
15
+ end
16
+ end
17
+
18
+ def self.type *a
19
+ if a.empty?
20
+ @type
21
+ else
22
+ @type = a[0].to_s
23
+ end
24
+ end
25
+
26
+ def self.config_defaults
27
+ @config_defaults ||= {}
28
+ end
29
+
30
+ def self.default key, value
31
+ config_defaults[key.to_s] = value
32
+ end
33
+
34
+ class << self
35
+ alias auto_config id
36
+ alias config_type type
37
+ end
38
+
39
+ def initialize config=Config
40
+ @config = config
41
+ self.id = self.class.id
42
+ self.type = self.class.type
43
+ self.class.config_defaults.each { |k, v| send(:"#{k}=", v) }
44
+ end
45
+
46
+ attr_accessor :config
47
+ end
48
+
49
+ class OAuthConfig < KeyConfig
50
+
51
+ config_type :OAuth
52
+
53
+ # *Required*
54
+ # *Example*: "https://api.twitter.com"
55
+ attr_accessor :site
56
+
57
+ # *Optional*
58
+ # *Example*: "http://api.twitter.com/oauth/request_token"
59
+ # *Default*: "#@site/oauth/request_token"
60
+ attr_accessor :request_token_url
61
+ def request_token_url
62
+ @request_token_url ||= "#@site/oauth/request_token"
63
+ end
64
+
65
+ # *Optional*
66
+ # *Example*: "http://api.twitter.com/oauth/authorize"
67
+ # *Default*: "#@site/oauth/authorize"
68
+ attr_accessor :authorize_url
69
+ def authorize_url
70
+ @authorize_url ||= "#@site/oauth/authorize"
71
+ end
72
+
73
+ # *Optional*
74
+ # *Example*: "http://api.twitter.com/oauth/access_token"
75
+ # *Default*: "#@site/oauth/access_token"
76
+ attr_accessor :access_token_url
77
+ def access_token_url
78
+ @access_token_url ||= "#@site/oauth/access_token"
79
+ end
80
+
81
+ attr_accessor :consumer_key
82
+ attr_accessor :consumer_secret
83
+ attr_accessor :access_token
84
+ attr_accessor :access_token_secret
85
+
86
+ def authorize!
87
+ url = "http://%s:%s/oauth/authorize?id=#{id}" % [LocalAuthorization::HOST, LocalAuthorization::PORT]
88
+ `open "#{url}"`
89
+ end
90
+
91
+ def save
92
+ cfg = config.load_keys_file
93
+ cfg[id] = {
94
+ 'site' => site,
95
+ 'request_token_url' => request_token_url,
96
+ 'authorize_url' => authorize_url,
97
+ 'access_token_url' => access_token_url,
98
+ 'consumer_key' => consumer_key,
99
+ 'consumer_secret' => consumer_secret,
100
+ 'access_token' => access_token,
101
+ 'access_token_secret' => access_token_secret
102
+ }
103
+ config.dump_config_file cfg
104
+ end
105
+
106
+ def save!
107
+ save
108
+ end
109
+ end
110
+
111
+ Config << OAuthConfig
112
+
113
+ class OAuth2Config < KeyConfig
114
+
115
+ config_type :OAuth2
116
+
117
+ # *Required*
118
+ # *Example*: "https://github.com/login"
119
+ attr_accessor :site
120
+
121
+ # *Optional*
122
+ # *Example*: "https://github.com/login/oauth/authorize"
123
+ # *Default*: "#@site/oauth/authorize"
124
+ attr_accessor :authorize_url
125
+ def authorize_url
126
+ @authorize_url ||= "#@site/oauth/authorize"
127
+ end
128
+
129
+ # *Optional*
130
+ # *Example*: "https://github.com/login/oauth/access_token"
131
+ # *Default*: "#@site/oauth/access_token"
132
+ attr_accessor :access_token_url
133
+ def access_token_url
134
+ @access_token_url ||= "#@site/oauth/access_token"
135
+ end
136
+
137
+ def authorize!
138
+ url = "http://%s:%s/oauth2/authorize?id=#{id}" % [LocalAuthorization::HOST, LocalAuthorization::PORT]
139
+ `open "#{url}"`
140
+ end
141
+
142
+ def save
143
+ cfg = config.load_keys_file
144
+ cfg[id] = {
145
+ 'site' => site,
146
+ 'authorize_url' => authorize_url,
147
+ 'access_token_url' => access_token_url,
148
+ 'client_id' => client_id,
149
+ 'client_secret' => client_secret,
150
+ 'access_token' => access_token
151
+ }
152
+ config.dump_config_file cfg
153
+ end
154
+
155
+ def save!
156
+ save
157
+ end
158
+
159
+ attr_accessor :client_id
160
+ attr_accessor :client_secret
161
+ attr_accessor :access_token
162
+ end
163
+
164
+ Config << OAuth2Config
165
+ end
@@ -0,0 +1,71 @@
1
+ require 'sinatra/base'
2
+ require 'oauth'
3
+ require 'oauth2'
4
+
5
+ module Myoack
6
+
7
+ class LocalAuthorization < Sinatra::Base
8
+ enable :sessions
9
+ HOST = "localhost"
10
+ PORT = 13480
11
+
12
+ get '/oauth/authorize' do
13
+ cfg = Config.require_config(params[:id])
14
+ consumer_key = cfg.consumer_key
15
+ consumer_secret = cfg.consumer_secret
16
+ consumer = OAuth::Consumer.new( consumer_key,
17
+ consumer_secret,
18
+ :site => cfg.site,
19
+ :request_token_url => cfg.request_token_url,
20
+ :authorize_url => cfg.authorize_url,
21
+ :access_token_url => cfg.access_token_url )
22
+ req = consumer.get_request_token :oauth_callback => "http://#{HOST}:#{PORT}/oauth/callback"
23
+ session['config_id'] = params[:id]
24
+ session['request_token'] = req.token
25
+ session['request_token_secret'] = req.secret
26
+ redirect req.authorize_url
27
+ end
28
+
29
+ get '/oauth/callback' do
30
+ cfg = Config.require_config(session['config_id'])
31
+ consumer_key = cfg.consumer_key
32
+ consumer_secret = cfg.consumer_secret
33
+ consumer = OAuth::Consumer.new( consumer_key,
34
+ consumer_secret,
35
+ :site => cfg.site,
36
+ :request_token_url => cfg.request_token_url,
37
+ :authorize_url => cfg.authorize_url,
38
+ :access_token_url => cfg.access_token_url )
39
+ req = OAuth::RequestToken.new consumer, session['request_token'], session['request_token_secret']
40
+ acs = req.get_access_token :oauth_token => params[:oauth_token], :oauth_verifier => params[:oauth_verifier]
41
+ cfg.access_token = acs.token
42
+ cfg.access_token_secret = acs.secret
43
+ cfg.save!
44
+ "Configured successful!"
45
+ end
46
+
47
+ get '/oauth2/authorize' do
48
+ cfg = Config.require_config(params[:id])
49
+ client = OAuth2::Client.new( cfg.client_id,
50
+ cfg.client_secret,
51
+ :site => cfg.site,
52
+ :authorize_url => cfg.authorize_url,
53
+ :token_url => cfg.access_token_url )
54
+ session['config_id'] = params[:id]
55
+ redirect client.auth_code.authorize_url :redirect_uri => "http://#{HOST}:#{PORT}/oauth2/callback"
56
+ end
57
+
58
+ get '/oauth2/callback' do
59
+ cfg = Config.require_config(session['config_id'])
60
+ client = OAuth2::Client.new( cfg.client_id,
61
+ cfg.client_secret,
62
+ :site => cfg.site,
63
+ :authorize_url => cfg.authorize_url,
64
+ :token_url => cfg.access_token_url )
65
+ token = client.auth_code.get_token params[:code], :redirect_uri => "http://#{HOST}:#{PORT}/oauth2/callback"
66
+ cfg.access_token = token.token
67
+ cfg.save!
68
+ "Configured successful!"
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,14 @@
1
+ require 'myoack/as_lib'
2
+
3
+ module Myoack
4
+ class TumblrConfig < OAuthConfig
5
+
6
+ auto_config :tumblr
7
+ default :site, "http://api.tumblr.com/v2"
8
+ default :request_token_url, "http://www.tumblr.com/oauth/request_token"
9
+ default :authorize_url, "http://www.tumblr.com/oauth/authorize"
10
+ default :access_token_url, "http://www.tumblr.com/oauth/access_token"
11
+ end
12
+
13
+ Config << TumblrConfig
14
+ end
@@ -0,0 +1,11 @@
1
+ require 'myoack/as_lib'
2
+
3
+ module Myoack
4
+ class TwitterConfig < OAuthConfig
5
+
6
+ auto_config :twitter
7
+ default :site, "https://api.twitter.com"
8
+ end
9
+
10
+ Config << TwitterConfig
11
+ end
data/lib/myoack.rb ADDED
@@ -0,0 +1 @@
1
+ require 'myoack/as_cli'
data/myoack.gemspec ADDED
@@ -0,0 +1,20 @@
1
+ Gem::Specification.new do |s|
2
+ s.name = "myoack"
3
+ s.version = File.read("VERSION")
4
+ s.authors = ["pasberth"]
5
+ s.description = %{Defaults on the authorization to scribbled script by My OAuth Consumer Key}
6
+ s.summary = %q{first release}
7
+ s.email = "pasberth@gmail.com"
8
+ s.extra_rdoc_files = ["README.rdoc"]
9
+ s.rdoc_options = ["--charset=UTF-8"]
10
+ s.homepage = "http://github.com/pasberth/Myoack"
11
+ s.require_paths = ["lib"]
12
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
13
+ s.files = `git ls-files`.split("\n")
14
+ s.test_files = `git ls-files -- spec/*`.split("\n")
15
+ s.add_development_dependency "rake"
16
+ s.add_development_dependency "rspec"
17
+ s.add_development_dependency "sinatra", "~> 1.3.0"
18
+ s.add_development_dependency "oauth"
19
+ s.add_development_dependency "yaml"
20
+ end
@@ -0,0 +1,52 @@
1
+ require 'spec_helper'
2
+
3
+ describe Myoack::ConfigManager do
4
+ let(:cm) { described_class.new(File.dirname(__FILE__) + '/myoack_home_example') }
5
+ subject { cm }
6
+ its(:configs) { should_not be_nil }
7
+ its(:config_types) { should_not be_nil }
8
+
9
+ describe "#require_config(:twitter)" do
10
+ let(:cfg) { cm << Myoack::TwitterConfig; cm.require_config(:twitter) }
11
+ subject { cfg }
12
+ its(:site) { should == "https://api.twitter.com" }
13
+ its(:consumer_key) { should == "YOUR_CONSUMER_KEY" }
14
+ its(:consumer_secret) { should == "YOUR_CONSUMER_SECRET" }
15
+ its(:access_token) { should == "YOUR_ACCESS_TOKEN" }
16
+ its(:access_token_secret) { should == "YOUR_ACCESS_TOKEN_SECRET" }
17
+ end
18
+
19
+ describe "#require_config(:tumblr)" do
20
+ let(:cfg) { cm << Myoack::TumblrConfig; cm.require_config(:tumblr) }
21
+ subject { cfg }
22
+ its(:site) { should == "http://api.tumblr.com/v2" }
23
+ its(:request_token_url) { should == "http://www.tumblr.com/oauth/request_token" }
24
+ its(:authorize_url) { should == "http://www.tumblr.com/oauth/authorize" }
25
+ its(:access_token_url) { should == "http://www.tumblr.com/oauth/access_token" }
26
+ its(:consumer_key) { should == "YOUR_CONSUMER_KEY" }
27
+ its(:consumer_secret) { should == "YOUR_CONSUMER_SECRET" }
28
+ its(:access_token) { should == "YOUR_ACCESS_TOKEN" }
29
+ its(:access_token_secret) { should == "YOUR_ACCESS_TOKEN_SECRET" }
30
+ end
31
+
32
+ describe "#require_config(:tumblr)" do
33
+ let(:cfg) { cm << Myoack::GitHubConfig; cm.require_config(:github) }
34
+ subject { cfg }
35
+ its(:site) { should == "https://api.github.com" }
36
+ its(:authorize_url) { should == "https://github.com/login/oauth/authorize" }
37
+ its(:access_token_url) { should == "https://github.com/login/oauth/access_token" }
38
+ its(:client_id) { should == "YOUR_CLIENT_ID" }
39
+ its(:client_secret) { should == "YOUR_CLIENT_SECRET" }
40
+ its(:access_token) { should == "YOUR_ACCESS_TOKEN" }
41
+ end
42
+
43
+ describe "#require_config(:somesite_example)" do
44
+ let(:cfg) { cm << Myoack::OAuthConfig; cm.require_config(:somesite_example) }
45
+ subject { cfg }
46
+ its(:site) { should == "https://www.example.com" }
47
+ its(:consumer_key) { should == "SOMESITE_CONSUMER_KEY_EXAMPLE" }
48
+ its(:consumer_secret) { should == "SOMESITE_CONSUMER_KEY_EXAMPLE" }
49
+ its(:access_token) { should == "SOMESITE_ACCESS_TOKEN_EXAMPL" }
50
+ its(:access_token_secret) { should == "SOMESITE_ACCESS_TOKEN_SECRET_EXAMPLE" }
51
+ end
52
+ end
@@ -0,0 +1,21 @@
1
+ twitter:
2
+ consumer_key: YOUR_CONSUMER_KEY
3
+ consumer_secret: YOUR_CONSUMER_SECRET
4
+ access_token: YOUR_ACCESS_TOKEN
5
+ access_token_secret: YOUR_ACCESS_TOKEN_SECRET
6
+ tumblr:
7
+ consumer_key: YOUR_CONSUMER_KEY
8
+ consumer_secret: YOUR_CONSUMER_SECRET
9
+ access_token: YOUR_ACCESS_TOKEN
10
+ access_token_secret: YOUR_ACCESS_TOKEN_SECRET
11
+ github:
12
+ client_id: YOUR_CLIENT_ID
13
+ client_secret: YOUR_CLIENT_SECRET
14
+ access_token: YOUR_ACCESS_TOKEN
15
+ somesite_example:
16
+ type: OAuth
17
+ site: https://www.example.com
18
+ consumer_key: SOMESITE_CONSUMER_KEY_EXAMPLE
19
+ consumer_secret: SOMESITE_CONSUMER_KEY_EXAMPLE
20
+ access_token: SOMESITE_ACCESS_TOKEN_EXAMPL
21
+ access_token_secret: SOMESITE_ACCESS_TOKEN_SECRET_EXAMPLE
@@ -0,0 +1,3 @@
1
+
2
+ $:.unshift File.dirname(__FILE__) + '/../lib'
3
+ require 'myoack/as_lib'
metadata ADDED
@@ -0,0 +1,132 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: myoack
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - pasberth
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-04-23 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rake
16
+ requirement: &70225170158420 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: *70225170158420
25
+ - !ruby/object:Gem::Dependency
26
+ name: rspec
27
+ requirement: &70225170157380 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: *70225170157380
36
+ - !ruby/object:Gem::Dependency
37
+ name: sinatra
38
+ requirement: &70225170155900 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ~>
42
+ - !ruby/object:Gem::Version
43
+ version: 1.3.0
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *70225170155900
47
+ - !ruby/object:Gem::Dependency
48
+ name: oauth
49
+ requirement: &70225170155060 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *70225170155060
58
+ - !ruby/object:Gem::Dependency
59
+ name: yaml
60
+ requirement: &70225170154440 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *70225170154440
69
+ description: Defaults on the authorization to scribbled script by My OAuth Consumer
70
+ Key
71
+ email: pasberth@gmail.com
72
+ executables:
73
+ - myoack-local-authorization-server.rb
74
+ - myoack.rb
75
+ extensions: []
76
+ extra_rdoc_files:
77
+ - README.rdoc
78
+ files:
79
+ - .gitignore
80
+ - Gemfile
81
+ - Gemfile.lock
82
+ - NOTE.rdoc
83
+ - README.rdoc
84
+ - VERSION
85
+ - bin/myoack-local-authorization-server.rb
86
+ - bin/myoack.rb
87
+ - examples/get_gists_from_github.rb
88
+ - examples/get_mentions_from_twitter.rb
89
+ - examples/get_posts_from_tumblr.rb
90
+ - lib/myoack.rb
91
+ - lib/myoack/as_cli.rb
92
+ - lib/myoack/as_lib.rb
93
+ - lib/myoack/config_manager.rb
94
+ - lib/myoack/github.rb
95
+ - lib/myoack/key_config.rb
96
+ - lib/myoack/local_authorization.rb
97
+ - lib/myoack/tumblr.rb
98
+ - lib/myoack/twitter.rb
99
+ - myoack.gemspec
100
+ - spec/config_manager_spec.rb
101
+ - spec/myoack_home_example/keys.yml
102
+ - spec/spec_helper.rb
103
+ homepage: http://github.com/pasberth/Myoack
104
+ licenses: []
105
+ post_install_message:
106
+ rdoc_options:
107
+ - --charset=UTF-8
108
+ require_paths:
109
+ - lib
110
+ required_ruby_version: !ruby/object:Gem::Requirement
111
+ none: false
112
+ requirements:
113
+ - - ! '>='
114
+ - !ruby/object:Gem::Version
115
+ version: '0'
116
+ required_rubygems_version: !ruby/object:Gem::Requirement
117
+ none: false
118
+ requirements:
119
+ - - ! '>='
120
+ - !ruby/object:Gem::Version
121
+ version: '0'
122
+ requirements: []
123
+ rubyforge_project:
124
+ rubygems_version: 1.8.10
125
+ signing_key:
126
+ specification_version: 3
127
+ summary: first release
128
+ test_files:
129
+ - spec/config_manager_spec.rb
130
+ - spec/myoack_home_example/keys.yml
131
+ - spec/spec_helper.rb
132
+ has_rdoc: