oauth-cli 0.0.6 → 0.0.7

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/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