rdio-cli 1.2.1 → 1.2.2

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.
@@ -6,9 +6,9 @@ improve this project.
6
6
  1. [Fork the repository.][fork]
7
7
  2. [Create a topic branch.][branch]
8
8
  3. Add specs for your unimplemented feature or bug fix.
9
- 4. Run `bundle exec rake spec`. If your specs pass, return to step 3.
9
+ 4. Run `script/test`. If your specs pass, return to step 3.
10
10
  5. Implement your feature or bug fix.
11
- 6. Run `bundle exec rake spec`. If your specs fail, return to step 5.
11
+ 6. Run `script/test`. If your specs fail, return to step 5.
12
12
  7. Add, commit, and push your changes.
13
13
  8. [Submit a pull request.][pr]
14
14
 
data/bin/rdio CHANGED
@@ -1,4 +1,26 @@
1
1
  #!/usr/bin/env ruby
2
2
  require 'rdio'
3
3
 
4
- exit Rdio.run(ARGV)
4
+ trap "SIGINT" do
5
+ exit 0
6
+ end
7
+
8
+ trap "INT" do
9
+ exit 0
10
+ end
11
+
12
+ if ARGV[0] == 'console'
13
+ loop do
14
+ print '> '
15
+ input = $stdin.gets.chomp
16
+
17
+ if input == 'exit'
18
+ exit
19
+ else
20
+ args = input.split(' ')
21
+ Rdio.run(args)
22
+ end
23
+ end
24
+ else
25
+ Rdio.run(ARGV)
26
+ end
@@ -21,7 +21,7 @@ module Rdio
21
21
 
22
22
  def self.api
23
23
  token = @access_token ? [@access_token, @access_secret] : nil
24
- @api = Api.new \
24
+ @api ||= Api.new \
25
25
  [@consumer_key, @consumer_secret],
26
26
  token
27
27
  end
@@ -40,7 +40,7 @@ module Rdio
40
40
 
41
41
  def self.lyrics_for(artist, title)
42
42
  uri = URI('http://makeitpersonal.co/lyrics')
43
- params = { :artist => artist, :title => title }
43
+ params = { :artist => artist.gsub(/[<>]/, ' '), :title => title.gsub(/[<>]/, ' ') }
44
44
  uri.query = URI.encode_www_form(params)
45
45
 
46
46
  res = Net::HTTP.get_response(uri)
@@ -126,6 +126,22 @@ module Rdio
126
126
  api.call 'addToCollection', { :keys => tracks.join(',') }
127
127
  end
128
128
 
129
+ def self.add_friend(vanity_or_email)
130
+ if vanity_or_email.include? "@"
131
+ data = api.call 'findUser', { :email => vanity_or_email }
132
+ else
133
+ data = api.call 'findUser', { :vanityName => vanity_or_email }
134
+ end
135
+
136
+ unless data['result']
137
+ return "Could not find user #{vanity_or_email}."
138
+ end
139
+
140
+ data = api.call 'addFriend', :user => data['result']['key']
141
+ data['result'] ? "You are now friends with #{vanity_or_email}." :
142
+ "Rdio said you were unable to become friends with #{vanity_or_email}."
143
+ end
144
+
129
145
  config_file '.rdio'
130
146
 
131
147
  desc 'Rdio API consumer key'
@@ -304,6 +320,16 @@ module Rdio
304
320
  end
305
321
  end
306
322
 
323
+ desc 'Manage your friends'
324
+ command :friends do |c|
325
+ c.desc 'Add a friend'
326
+ c.command :add do |add|
327
+ add.action do |global_options,options,args|
328
+ say add_friend args.first
329
+ end
330
+ end
331
+ end
332
+
307
333
  pre do |global,command,options,args|
308
334
  # Pre logic here
309
335
  # Return true to proceed; false to abourt and not call the
@@ -1,3 +1,3 @@
1
1
  module Rdio
2
- VERSION = '1.2.1'
2
+ VERSION = '1.2.2'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rdio-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.2.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-03-23 00:00:00.000000000 Z
12
+ date: 2014-09-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: highline
@@ -103,7 +103,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
103
103
  version: '0'
104
104
  requirements: []
105
105
  rubyforge_project:
106
- rubygems_version: 1.8.23
106
+ rubygems_version: 1.8.29
107
107
  signing_key:
108
108
  specification_version: 3
109
109
  summary: CLI for Rdio for Mac