oauth-cli 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG CHANGED
@@ -2,6 +2,13 @@
2
2
  // ---------------------------
3
3
  // on exit, ask if connection data should be saved to profile
4
4
 
5
+ 0.0.7
6
+ --------------------------
7
+ open url directly in browser via launchy gem (thx @pht for pointing me)
8
+ added soundcloud profile
9
+ add autocomplete for interactive commands (get, put, post, delete, auth, help)
10
+
11
+
5
12
  0.0.6
6
13
  ---------------------------
7
14
  updated & cleanedup profile managment
data/Manifest CHANGED
@@ -3,6 +3,7 @@ Manifest
3
3
  README.rdoc
4
4
  Rakefile
5
5
  bin/oauthc
6
+ completion
6
7
  lib/oauth_cli.rb
7
8
  oauth-cli.gemspec
8
9
  profiles.yaml
data/README.rdoc CHANGED
@@ -21,7 +21,7 @@ Options:
21
21
  --content_type Set content type, default: application/xml
22
22
 
23
23
  Request params (leave blank for interactive mode)
24
- http_method_verb nay method of get, post, put or delete
24
+ http_method_verb any method of get, post, put or delete
25
25
  uri Uri to request
26
26
  body Body attached to request
27
27
 
@@ -52,7 +52,7 @@ oauthc was originally developed to test the {Qype API}[http://www.qype.com/devel
52
52
 
53
53
 
54
54
  == Hints
55
- * make sure to have rlwrap installed, to get CLI history support: http://utopia.knoware.nl/~hlub/rlwrap (or "port install rlwarp")
55
+ * make sure to have rlwrap installed, to get CLI history support: http://utopia.knoware.nl/~hlub/rlwrap (or "port install rlwarp" or "brew install rlwrap")
56
56
 
57
57
  * Bug reports, suggestions, updates: http://github.com/rngtng/oauth-cli/issues
58
58
 
@@ -61,8 +61,10 @@ oauthc was originally developed to test the {Qype API}[http://www.qype.com/devel
61
61
  * check if host is valid
62
62
  * testing + better docs
63
63
  * check oauth client, streamline!?
64
- * add autocomplete for interactive commands
64
+ * add autocomplete for API commands
65
65
  * profile delete and rename
66
+ * history scope of profile name
67
+ * support for urlencoded in post/put body -> set correct mime type
66
68
 
67
69
  == FAQ
68
70
 
data/Rakefile CHANGED
@@ -2,12 +2,12 @@ require 'rubygems'
2
2
  require 'rake'
3
3
  require 'echoe'
4
4
 
5
- Echoe.new('oauth-cli', '0.0.6') do |p|
5
+ Echoe.new('oauth-cli', '0.0.7') do |p|
6
6
  p.description = "A simple CLI client to test your oauth API easily"
7
7
  p.url = "http://github.com/rngtng/oauth-cli"
8
8
  p.author = "rngtng - Tobias Bielohlawek"
9
9
  p.email = "tobi @nospam@ rngtng.com"
10
10
  p.ignore_pattern = ["tmp/*", "script/*"]
11
11
  p.development_dependencies = ["mocha >=0", "echoe >=0"]
12
- p.runtime_dependencies = ["highline >=1.5.1", "json >=1.1.9", "oauth >=0.3.6"]
12
+ p.runtime_dependencies = ["highline >=1.5.1", "json >=1.1.9", "oauth >=0.3.6", "launchy"]
13
13
  end
data/bin/oauthc CHANGED
@@ -5,17 +5,18 @@ require 'pp'
5
5
 
6
6
  #workaround to make it work in dev & production mode, any better solutions here??
7
7
  begin
8
- require "#{File.dirname(File.dirname(File.expand_path(__FILE__)))}/lib/oauth_cli"
8
+ require "#{File.dirname(File.dirname(File.expand_path(__FILE__)))}/lib/oauth_cli"
9
9
  rescue LoadError
10
10
  require "oauth_cli"
11
11
  end
12
12
 
13
13
  PROFILE_CFG_FILE = ENV['OAUTHC_CONFIG_FILE'] || File.expand_path('~/.oauthconfig')
14
14
  PROFILE_TMP_FILE = "#{File.dirname(File.dirname(File.expand_path(__FILE__)))}/profiles.yaml"
15
+ COMPLETION_FILE = "#{File.dirname(File.dirname(File.expand_path(__FILE__)))}/completion"
15
16
 
16
17
  def show_help
17
18
  say <<-help
18
- oauthc version 0.0.6
19
+ oauthc version 0.0.7
19
20
  Usage: oauthc [options] [http_method_verb uri [body]]
20
21
 
21
22
  Options:
@@ -67,8 +68,8 @@ method, uri, body, profile = OauthCli.parse_args(ARGV)
67
68
  @client = OauthCli.new(profile)
68
69
 
69
70
  if !@client.connected?
70
- say_message("Welcome to Oauth Commandline Client.", 'YELLOW')
71
-
71
+ say_message("Welcome to Oauth Commandline Client.", 'YELLOW')
72
+
72
73
  #give profile selection
73
74
  if OauthCli.profiles.keys.any?
74
75
  profile = choose do |menu|
@@ -81,30 +82,33 @@ if !@client.connected?
81
82
 
82
83
  while !@client.connected?
83
84
  say("No profiles setups were found, please create one first.") if OauthCli.profiles.empty?
84
-
85
+
85
86
  profile = template = choose do |menu|
86
87
  menu.header = "Choose profile template"
87
88
  menu.prompt = ">> "
88
89
  menu.choices(*(OauthCli.templates.keys << 'custom') )
89
90
  end
90
-
91
+
91
92
  say_message "Creating #{template} profile", 'YELLOW'
92
-
93
+
93
94
  say "Profile '#{profile}' already exists, please choose another name." if OauthCli.profiles[profile]
94
95
  profile = ask_prompt "Profile name" if !OauthCli.templates[profile] || OauthCli.profiles[profile]
95
-
96
+
96
97
  OauthCli.add_profile(profile, OauthCli.templates[template] || {})
97
-
98
- say "\n <%= 'Go to ' + color('#{OauthCli.profiles[profile][:reg_url]}', BOLD, UNDERLINE) + ' to register and retrieve your oauth consumer key and secret' %>\n\n" if OauthCli.profiles[profile][:reg_url]
99
-
98
+
99
+ if OauthCli.profiles[profile][:reg_url]
100
+ say "\n <%= 'Go to ' + color('#{OauthCli.profiles[profile][:reg_url]}', BOLD, UNDERLINE) + ' to register and retrieve your oauth consumer key and secret' %>\n\n"
101
+ Launchy.open(OauthCli.profiles[profile][:reg_url])
102
+ end
103
+
100
104
  OauthCli.profiles[profile][:host] ||= ask_prompt "Oauth Host"
101
105
  OauthCli.profiles[profile][:auth_url] ||= ask_prompt "Authorization Url"
102
106
  OauthCli.profiles[profile][:consumer_key] = ask_prompt "Consumer Key"
103
107
  OauthCli.profiles[profile][:consumer_secret] = ask_prompt "Consumer Secret"
104
-
108
+
105
109
  @client.connect(profile)
106
110
  OauthCli.save_profiles
107
-
111
+
108
112
  say_message "Profile Setup SUCCESSFUL - saved as: #{profile}", 'GREEN'
109
113
  say "Type 'auth' ot authorize profile, type 'help' for more"
110
114
  end
@@ -117,16 +121,7 @@ end
117
121
 
118
122
  ######## START Interactive mode
119
123
 
120
- ## following lines are shamelessly stolen from repl -> http://http://github.com/defunkt/repl
121
- # completion_dir = ENV['REPL_COMPLETION_DIR'] || "~/.repl"
122
- # if File.exists?(cdir = File.expand_path(completion_dir))
123
- # script = ARGV.detect { |a| a !~ /^-/ }
124
- # if script
125
- # cfile = Dir[cdir + '/' + File.basename(script)].first
126
- # cfile = nil if cfile && !File.exists?(cfile)
127
- # end
128
- # end
129
-
124
+ ## following lines are shamelessly stolen from repl -> http://github.com/defunkt/repl
130
125
  history_dir = ENV['OAUTHC_HISTORY_DIR'] || "~/"
131
126
  if File.exists?(hdir = File.expand_path(history_dir))
132
127
  if script = ARGV.detect { |a| a !~ /^-/ }
@@ -138,20 +133,21 @@ end
138
133
  if !ENV['__REPL_WRAPPED'] && system("which rlwrap > /dev/null 2> /dev/null")
139
134
  ENV['__REPL_WRAPPED'] = '0'
140
135
 
141
- rlargs = ""
142
- #rlargs << " -f #{cfile}" if cfile
136
+ rlargs = '' #"-r " <- to remember input, unfortunately, it remember output to
137
+ rlargs << " -f #{COMPLETION_FILE}" if File.exists?(COMPLETION_FILE)
143
138
  rlargs << " -H #{hfile}" if hfile
144
-
139
+
145
140
  ARGV << "-p=#{profile}" if profile
146
141
 
147
142
  exec "rlwrap #{rlargs} #$0 #{ARGV.join(' ')}"
148
143
  end
149
144
 
150
- prompt = ENV['REPL_PROMPT'] || "#{profile} >>"
145
+
151
146
 
152
147
  loop do
153
148
  begin
154
- input = ask "<%= color('#{prompt}', BOLD) %> "
149
+ auth = @client.auth? ? "'(authorized)', GREEN)" : "color('(unauthorized)', RED)"
150
+ input = ask "<%= color('#{profile}', BOLD) %> <%= color( #{auth} %> >> "
155
151
  command, uri, body = input.chomp.split(' ')
156
152
 
157
153
  next warn(show_commands) if command =~ /^(help|\?)$/
@@ -161,6 +157,7 @@ loop do
161
157
  say_message "Starting Authorization", 'YELLOW'
162
158
  say "\n"
163
159
  say " <%= 'Go to ' + color('#{@client.access_request_url}', BOLD, UNDERLINE) + ' to retrieve token verifier' %>\n\n"
160
+ Launchy.open(@client.access_request_url)
164
161
  verifier = ask_prompt "verifier"
165
162
 
166
163
  begin
@@ -168,24 +165,21 @@ loop do
168
165
  OauthCli.profiles[profile][:token] = @access_token.token
169
166
  OauthCli.profiles[profile][:secret] = @access_token.secret
170
167
  OauthCli.save_profiles
171
-
168
+
172
169
  say_message "Authorization SUCCESSFUL and saved to profile: #{profile}", 'GREEN'
173
170
  say " token: #{@access_token.token}"
174
171
  say " secret: #{@access_token.secret}"
175
172
  rescue => message
176
173
  say_message "Authorization FAILED: #{message}", 'RED'
177
- end
174
+ end
178
175
  else
179
176
  @client.request(command, uri, body)
180
177
  end
181
-
178
+
182
179
  next
183
180
  rescue NoMethodError, Interrupt
184
- #save_config unless profile
185
- puts
181
+ #TODO save_config unless profile
186
182
  exit
187
- #rescue
188
183
  end
189
184
 
190
185
  end
191
-
data/completion ADDED
@@ -0,0 +1 @@
1
+ get post put delete auth help
data/lib/oauth_cli.rb CHANGED
@@ -2,6 +2,7 @@ require 'highline/import'
2
2
  require 'oauth'
3
3
  require 'json'
4
4
  require 'yaml'
5
+ require 'launchy'
5
6
 
6
7
  begin
7
8
  require 'ap' #try to load awesome_print for nice json output
@@ -13,21 +14,21 @@ HighLine.track_eof = false #hotfix to make highline work
13
14
  class OauthCli
14
15
 
15
16
  attr_reader :options
16
-
17
+
17
18
  def initialize(profile = nil)
18
19
  @options = {}
19
20
  connect(profile)
20
21
  end
21
-
22
+
22
23
  def connect(profile)
23
24
  return false if !profile.is_a?(Hash) && !OauthCli.profiles[profile]
24
25
  @options = OauthCli.profiles[profile] || profile
25
-
26
+
26
27
  #add http if missing
27
28
  [:host, :reg_url, :auth_url].each do |key|
28
29
  @options[key] = "http://#{@options[key]}" unless @options[key] =~ /^http/
29
30
  end
30
-
31
+
31
32
  @consumer = OAuth::Consumer.new(@options[:consumer_key], @options[:consumer_secret], :site => @options[:host])
32
33
  @access_token = OAuth::AccessToken.new(@consumer, @options[:token], @options[:token_secret]) if @options[:token]
33
34
 
@@ -38,7 +39,7 @@ class OauthCli
38
39
  # TODO check if host available?
39
40
  @options[:consumer_key] && @options[:consumer_secret] && @options[:host]
40
41
  end
41
-
42
+
42
43
  def auth?
43
44
  @access_token
44
45
  end
@@ -48,12 +49,12 @@ class OauthCli
48
49
  @options[:auth_url] ||= "#{@options[:host].gsub('api.', 'www.').gsub('v1/', '')}/mobile/authorize" #That's for Qype only!!
49
50
  url = "#{@options[:auth_url]}?oauth_token=#{@request_token.token}"
50
51
  end
51
-
52
+
52
53
  def access_token(verifier)
53
54
  request_url unless @request_token
54
55
  @access_token = @request_token.get_access_token({}, "oauth_verifier" => verifier)
55
56
  end
56
-
57
+
57
58
  def request(method, uri, body = nil)
58
59
  unless %w(get post put delete).include? method.to_s
59
60
  say_message "Wrong HTTP Method: #{method} - calling #{@options[:host]}#{uri}", 'RED'
@@ -62,8 +63,8 @@ class OauthCli
62
63
 
63
64
  uri = ask_prompt "request uri" if !uri
64
65
  body = ask_prompt "request body" if !body && (method == "post" || method == "put")
65
-
66
- url = @options[:host] + uri
66
+
67
+ url = @options[:host] + uri.match(/^\/?(.+)/)[1] #removes trailing slash
67
68
 
68
69
  @options[:mime_type] ||= (url =~ /\.json/) ? "application/json" : "application/xml"
69
70
  @options[:content_type] ||= (url =~ /\.json/) ? "application/json" : "application/xml"
@@ -73,7 +74,7 @@ class OauthCli
73
74
  header = response.header
74
75
 
75
76
  color = (response.code.to_i < 400) ? 'GREEN' : 'RED'
76
- say_message "Status: #{header.code} #{header.message} - calling #{@options[:host]}#{uri}", color
77
+ say_message "Status: #{header.code} #{header.message} - calling #{url}", color
77
78
 
78
79
  body = response.body
79
80
  if header.content_type =~ /json/
@@ -87,17 +88,17 @@ class OauthCli
87
88
  end
88
89
 
89
90
  ####### Static Setup Mehtods
90
-
91
+
91
92
  def self.inialize
92
93
  @profiles || {}
93
94
  end
94
-
95
+
95
96
  def self.load_profiles(cfg_file, tmp_file)
96
97
  @cfg_file = cfg_file #keep so we can save back to file
97
98
  @profiles = load(cfg_file)
98
99
  @templates = load(tmp_file)
99
100
  end
100
-
101
+
101
102
  def self.save_profiles
102
103
  return unless @cfg_file
103
104
  File.open(@cfg_file, 'w') do |out|
@@ -109,7 +110,7 @@ class OauthCli
109
110
  @profiles[name] = values
110
111
  name
111
112
  end
112
-
113
+
113
114
  def self.profiles
114
115
  @profiles || {}
115
116
  end
@@ -126,43 +127,43 @@ class OauthCli
126
127
  next last_arg = $1.to_sym if kv =~ /^-?-(.+)$/ #catches --param
127
128
  false
128
129
  end
129
-
130
+
130
131
  profile = opt.delete(:profile) || opt.delete(:p)
131
132
 
132
133
  if !@profiles[profile] && opt.any?
133
134
  profile ||= 'commandline'
134
135
  @profiles[profile] = opt
135
136
  save_profiles unless profile == 'commandline'
136
- end
137
-
137
+ end
138
+
138
139
  if !@profiles[profile] && @default_profile
139
140
  profile = @default_profile
140
141
  say "Using default profile: #{profile}"
141
142
  end
142
-
143
+
143
144
  if profile && !@profiles[profile]
144
145
  say_error "Profile #{profile} not found"
145
146
  profile = nil
146
147
  end
147
-
148
+
148
149
  [method, uri, body, profile]
149
150
  end
150
-
151
+
151
152
  private
152
153
  def self.load(file)
153
154
  hash = YAML.load_file(file) if File.exists?(file)
154
155
  return {} unless hash.is_a?(Hash)
155
-
156
+
156
157
  #symbolises keys and finde default profile
157
158
  hash.each do |profile, options|
158
- options.keys.each do |key|
159
+ options.keys.each do |key|
159
160
  hash[profile][key.to_sym] = hash[profile].delete(key)
160
161
  @default_profile = profile if key.to_sym == :default
161
162
  end
162
163
  end
163
164
  hash
164
165
  end
165
-
166
+
166
167
  end
167
168
 
168
169
 
@@ -177,5 +178,5 @@ def say_error(error)
177
178
  end
178
179
 
179
180
  def ask_prompt(question)
180
- ask " |-- #{question} >> "
181
+ ask " |-- #{question} >> "
181
182
  end
data/oauth-cli.gemspec CHANGED
@@ -2,24 +2,24 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{oauth-cli}
5
- s.version = "0.0.6"
5
+ s.version = "0.0.7"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["rngtng - Tobias Bielohlawek"]
9
- s.cert_chain = ["/Users/ted/.ssh/gem-public_cert.pem"]
10
- s.date = %q{2010-06-09}
9
+ s.cert_chain = ["/Users/tobi/.ssh/gem-public_cert.pem"]
10
+ s.date = %q{2010-09-04}
11
11
  s.default_executable = %q{oauthc}
12
12
  s.description = %q{A simple CLI client to test your oauth API easily}
13
13
  s.email = %q{tobi @nospam@ rngtng.com}
14
14
  s.executables = ["oauthc"]
15
15
  s.extra_rdoc_files = ["CHANGELOG", "README.rdoc", "bin/oauthc", "lib/oauth_cli.rb"]
16
- s.files = ["CHANGELOG", "Manifest", "README.rdoc", "Rakefile", "bin/oauthc", "lib/oauth_cli.rb", "oauth-cli.gemspec", "profiles.yaml", "test/helper.rb", "test/test_oauth_cli.rb", "test/test_oauthc.rb"]
16
+ s.files = ["CHANGELOG", "Manifest", "README.rdoc", "Rakefile", "bin/oauthc", "completion", "lib/oauth_cli.rb", "oauth-cli.gemspec", "profiles.yaml", "test/helper.rb", "test/test_oauth_cli.rb", "test/test_oauthc.rb"]
17
17
  s.homepage = %q{http://github.com/rngtng/oauth-cli}
18
18
  s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Oauth-cli", "--main", "README.rdoc"]
19
19
  s.require_paths = ["lib"]
20
20
  s.rubyforge_project = %q{oauth-cli}
21
- s.rubygems_version = %q{1.3.6}
22
- s.signing_key = %q{/Users/ted/.ssh/gem-private_key.pem}
21
+ s.rubygems_version = %q{1.3.7}
22
+ s.signing_key = %q{/Users/tobi/.ssh/gem-private_key.pem}
23
23
  s.summary = %q{A simple CLI client to test your oauth API easily}
24
24
  s.test_files = ["test/test_oauth_cli.rb", "test/test_oauthc.rb"]
25
25
 
@@ -27,16 +27,18 @@ Gem::Specification.new do |s|
27
27
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
28
28
  s.specification_version = 3
29
29
 
30
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
30
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
31
31
  s.add_runtime_dependency(%q<highline>, [">= 1.5.1"])
32
32
  s.add_runtime_dependency(%q<json>, [">= 1.1.9"])
33
33
  s.add_runtime_dependency(%q<oauth>, [">= 0.3.6"])
34
+ s.add_runtime_dependency(%q<launchy>, [">= 0"])
34
35
  s.add_development_dependency(%q<mocha>, [">= 0"])
35
36
  s.add_development_dependency(%q<echoe>, [">= 0"])
36
37
  else
37
38
  s.add_dependency(%q<highline>, [">= 1.5.1"])
38
39
  s.add_dependency(%q<json>, [">= 1.1.9"])
39
40
  s.add_dependency(%q<oauth>, [">= 0.3.6"])
41
+ s.add_dependency(%q<launchy>, [">= 0"])
40
42
  s.add_dependency(%q<mocha>, [">= 0"])
41
43
  s.add_dependency(%q<echoe>, [">= 0"])
42
44
  end
@@ -44,6 +46,7 @@ Gem::Specification.new do |s|
44
46
  s.add_dependency(%q<highline>, [">= 1.5.1"])
45
47
  s.add_dependency(%q<json>, [">= 1.1.9"])
46
48
  s.add_dependency(%q<oauth>, [">= 0.3.6"])
49
+ s.add_dependency(%q<launchy>, [">= 0"])
47
50
  s.add_dependency(%q<mocha>, [">= 0"])
48
51
  s.add_dependency(%q<echoe>, [">= 0"])
49
52
  end
data/profiles.yaml CHANGED
@@ -7,3 +7,8 @@ qype:
7
7
  :host: api.qype.com/v1
8
8
  :reg_url: www.qype.com/api_consumers
9
9
  :auth_url: www.qype.com/mobile/authorize
10
+
11
+ soundcloud:
12
+ :host: https://api.soundcloud.com/
13
+ :reg_url: http://soundcloud.com/you/apps
14
+ :auth_url: http://soundcloud.com/oauth/authorize
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oauth-cli
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 17
4
5
  prerelease: false
5
6
  segments:
6
7
  - 0
7
8
  - 0
8
- - 6
9
- version: 0.0.6
9
+ - 7
10
+ version: 0.0.7
10
11
  platform: ruby
11
12
  authors:
12
13
  - rngtng - Tobias Bielohlawek
@@ -34,16 +35,18 @@ cert_chain:
34
35
  I5mOkC+DmQeKRCyukHoWnysL5IyK+l7JEPymkOlNWkl006u5rNu/d7LJJW19+ZvC
35
36
  -----END CERTIFICATE-----
36
37
 
37
- date: 2010-06-09 00:00:00 +02:00
38
- default_executable: oauthc
38
+ date: 2010-09-04 00:00:00 +02:00
39
+ default_executable:
39
40
  dependencies:
40
41
  - !ruby/object:Gem::Dependency
41
42
  name: highline
42
43
  prerelease: false
43
44
  requirement: &id001 !ruby/object:Gem::Requirement
45
+ none: false
44
46
  requirements:
45
47
  - - ">="
46
48
  - !ruby/object:Gem::Version
49
+ hash: 1
47
50
  segments:
48
51
  - 1
49
52
  - 5
@@ -55,9 +58,11 @@ dependencies:
55
58
  name: json
56
59
  prerelease: false
57
60
  requirement: &id002 !ruby/object:Gem::Requirement
61
+ none: false
58
62
  requirements:
59
63
  - - ">="
60
64
  - !ruby/object:Gem::Version
65
+ hash: 1
61
66
  segments:
62
67
  - 1
63
68
  - 1
@@ -69,9 +74,11 @@ dependencies:
69
74
  name: oauth
70
75
  prerelease: false
71
76
  requirement: &id003 !ruby/object:Gem::Requirement
77
+ none: false
72
78
  requirements:
73
79
  - - ">="
74
80
  - !ruby/object:Gem::Version
81
+ hash: 31
75
82
  segments:
76
83
  - 0
77
84
  - 3
@@ -80,29 +87,47 @@ dependencies:
80
87
  type: :runtime
81
88
  version_requirements: *id003
82
89
  - !ruby/object:Gem::Dependency
83
- name: mocha
90
+ name: launchy
84
91
  prerelease: false
85
92
  requirement: &id004 !ruby/object:Gem::Requirement
93
+ none: false
86
94
  requirements:
87
95
  - - ">="
88
96
  - !ruby/object:Gem::Version
97
+ hash: 3
89
98
  segments:
90
99
  - 0
91
100
  version: "0"
92
- type: :development
101
+ type: :runtime
93
102
  version_requirements: *id004
94
103
  - !ruby/object:Gem::Dependency
95
- name: echoe
104
+ name: mocha
96
105
  prerelease: false
97
106
  requirement: &id005 !ruby/object:Gem::Requirement
107
+ none: false
98
108
  requirements:
99
109
  - - ">="
100
110
  - !ruby/object:Gem::Version
111
+ hash: 3
101
112
  segments:
102
113
  - 0
103
114
  version: "0"
104
115
  type: :development
105
116
  version_requirements: *id005
117
+ - !ruby/object:Gem::Dependency
118
+ name: echoe
119
+ prerelease: false
120
+ requirement: &id006 !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ">="
124
+ - !ruby/object:Gem::Version
125
+ hash: 3
126
+ segments:
127
+ - 0
128
+ version: "0"
129
+ type: :development
130
+ version_requirements: *id006
106
131
  description: A simple CLI client to test your oauth API easily
107
132
  email: tobi @nospam@ rngtng.com
108
133
  executables:
@@ -120,6 +145,7 @@ files:
120
145
  - README.rdoc
121
146
  - Rakefile
122
147
  - bin/oauthc
148
+ - completion
123
149
  - lib/oauth_cli.rb
124
150
  - oauth-cli.gemspec
125
151
  - profiles.yaml
@@ -141,16 +167,20 @@ rdoc_options:
141
167
  require_paths:
142
168
  - lib
143
169
  required_ruby_version: !ruby/object:Gem::Requirement
170
+ none: false
144
171
  requirements:
145
172
  - - ">="
146
173
  - !ruby/object:Gem::Version
174
+ hash: 3
147
175
  segments:
148
176
  - 0
149
177
  version: "0"
150
178
  required_rubygems_version: !ruby/object:Gem::Requirement
179
+ none: false
151
180
  requirements:
152
181
  - - ">="
153
182
  - !ruby/object:Gem::Version
183
+ hash: 11
154
184
  segments:
155
185
  - 1
156
186
  - 2
@@ -158,7 +188,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
158
188
  requirements: []
159
189
 
160
190
  rubyforge_project: oauth-cli
161
- rubygems_version: 1.3.6
191
+ rubygems_version: 1.3.7
162
192
  signing_key:
163
193
  specification_version: 3
164
194
  summary: A simple CLI client to test your oauth API easily
metadata.gz.sig CHANGED
Binary file