rcracy 0.0.9 → 0.1.0

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/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Rcracy
2
2
 
3
- TODO: Write a gem description
3
+ Simple wrapper for karmacracy.com API
4
4
 
5
5
  ## Installation
6
6
 
data/lib/rcracy/api.rb ADDED
@@ -0,0 +1,115 @@
1
+ require 'json'
2
+ require 'net/http'
3
+
4
+ module RCracy
5
+
6
+ API_BASE_URL = 'http://karmacracy.com/api/v1' # Remove from here.
7
+
8
+ ##
9
+ # Returns an Array of RCracy::Kcy objects
10
+
11
+ def self.get_kcys_from(username, from = 1, num = 10)
12
+
13
+ request_url = "#{API_BASE_URL}/user/#{username}?kcy=1&from=#{from}&num=#{num}&appkey=#{RCracy.configuration.app_key}"
14
+
15
+ http_response = Net::HTTP.get_response(URI.parse(request_url))
16
+
17
+ hashed_kcys = JSON.parse(http_response.body)['data']['user'][0]['kcys']
18
+
19
+ kcys = []
20
+
21
+ hashed_kcys.each do |hashed_kcy|
22
+
23
+ kcys.push(RCracy::Kcy.new(hashed_kcy))
24
+
25
+ end
26
+
27
+ return kcys
28
+
29
+ end
30
+
31
+ ##
32
+ # Returns an Array of RCracy::Domain objects
33
+
34
+ def self.get_domains(username, from = 1, num = 10)
35
+
36
+ request_url = "#{API_BASE_URL}/domains/?u=#{username}&from=#{from}&num=#{num}&appkey=#{RCracy.configuration.app_key}"
37
+
38
+ http_response = Net::HTTP.get_response(URI.parse(request_url))
39
+
40
+ hashed_domains = JSON.parse(http_response.body)['data']['domain']
41
+
42
+ domains = []
43
+
44
+ hashed_domains.each do |hashed_domain|
45
+
46
+ domains.push(RCracy::Domain.new(hashed_domain))
47
+
48
+ end
49
+
50
+ return domains
51
+
52
+ end
53
+
54
+ ##
55
+ # Returns an Array of RCracy::Nut objects
56
+
57
+ def self.get_nuts_from(username, type = 'All')
58
+
59
+ request_url = "#{API_BASE_URL}/awards/#{username}?t=#{type}&appkey=#{RCracy.configuration.app_key}"
60
+
61
+ http_response = Net::HTTP.get_response(URI.parse(request_url))
62
+
63
+ hashed_nuts = JSON.parse(http_response.body)['data']['nut']
64
+
65
+ nuts = []
66
+
67
+ hashed_nuts.each do |hashed_nut|
68
+
69
+ nuts.push(RCracy::Nut.new(hashed_nut))
70
+
71
+ end
72
+
73
+ return nuts
74
+
75
+ end
76
+
77
+ ##
78
+ # Returns an RCracy::Nut object
79
+
80
+ def self.get_nut_details_from(username, id, lang = 'en')
81
+
82
+ request_url = "#{API_BASE_URL}/awards/#{username}/nut/#{id}?lang=#{lang}&appkey=#{RCracy.configuration.app_key}"
83
+
84
+ http_response = Net::HTTP.get_response(URI.parse(request_url))
85
+
86
+ hashed_nut = JSON.parse(http_response.body)['data']['nut']
87
+
88
+ return RCracy::Nut.new(hashed_nut)
89
+
90
+ end
91
+
92
+ ##
93
+ # Returns an Array of RCracy::User objects
94
+
95
+ def self.get_users_by_kcy_rank(from = 1, num = 10, now = 0)
96
+
97
+ request_url = "#{API_BASE_URL}/rank/?from=#{from}&num=#{num}&now=#{now}&appkey=#{RCracy.configuration.app_key}"
98
+
99
+ http_response = Net::HTTP.get_response(URI.parse(request_url))
100
+
101
+ hashed_users = JSON.parse(http_response.body)['data']['user']
102
+
103
+ users = []
104
+
105
+ hashed_users.each do |hashed_user|
106
+
107
+ users.push(RCracy::User.new(hashed_user))
108
+
109
+ end
110
+
111
+ return users
112
+
113
+ end
114
+
115
+ end
@@ -0,0 +1,16 @@
1
+ module RCracy
2
+
3
+ class << self
4
+ attr_accessor :configuration
5
+ end
6
+
7
+ def self.configure
8
+ self.configuration ||= Configuration.new
9
+ yield(configuration)
10
+ end
11
+
12
+ class Configuration
13
+ attr_accessor :app_key
14
+ end
15
+
16
+ end
data/lib/rcracy/domain.rb CHANGED
@@ -5,14 +5,12 @@ module RCracy
5
5
  attr_reader :domain, :rank, :kclicks, :others
6
6
 
7
7
  def initialize(attrs)
8
-
9
- @domain = attrs['domain']
10
- @rank = attrs['rank']
8
+ @domain = attrs['domain']
9
+ @rank = attrs['rank']
11
10
  @kclicks = attrs['clicks']
12
- @others = attrs['numPersonas']
13
-
11
+ @others = attrs['numPersonas']
14
12
  end
15
13
 
16
14
  end
17
15
 
18
- end
16
+ end
data/lib/rcracy/kcy.rb CHANGED
@@ -5,16 +5,19 @@ module RCracy
5
5
  attr_reader :title, :long_url, :short_url, :kclicks, :date, :award_id, :award_img, :award_desc, :others
6
6
 
7
7
  def initialize(attrs)
8
- @title = attrs['title']
9
- @long_url = attrs['longurl']
10
- @short_url = attrs['shorturl']
11
- @kclicks = attrs['kclicks']
12
- @date = attrs['date']
13
- @award_id = attrs['awardId']
14
- @award_img = attrs['awardImg']
8
+
9
+ @title = attrs['title']
10
+ @long_url = attrs['longurl']
11
+ @short_url = attrs['shorturl']
12
+ @kclicks = attrs['kclicks']
13
+ @date = attrs['date']
14
+ @award_id = attrs['awardId']
15
+ @award_img = attrs['awardImg']
15
16
  @award_desc = attrs['awardDesc']
16
- @others = attrs['others']
17
+ @others = attrs['others']
18
+
17
19
  end
20
+
18
21
  end
19
22
 
20
23
  end
data/lib/rcracy/nut.rb CHANGED
@@ -6,17 +6,17 @@ module RCracy
6
6
  :flag_type, :level, :date_received_or_last, :number
7
7
 
8
8
  def initialize(attrs)
9
- @id = attrs['id']
10
- @name = attrs['name']
11
- @date_since = attrs['dateSince']
12
- @history = attrs['history']
9
+ @id = attrs['id']
10
+ @name = attrs['name']
11
+ @date_since = attrs['dateSince']
12
+ @history = attrs['history']
13
13
  @small_image = attrs['imageSmall']
14
- @big_image = attrs['imageBig']
14
+ @big_image = attrs['imageBig']
15
15
  @description = attrs['description']
16
- @flag_type = attrs['flg_type']
17
- @level = attrs['level']
16
+ @flag_type = attrs['flg_type']
17
+ @level = attrs['level']
18
18
  @date_received_or_last = attrs['dateReceivedOrLast']
19
- @number = attrs['number']
19
+ @number = attrs['number']
20
20
  end
21
21
  end
22
22
 
data/lib/rcracy/user.rb CHANGED
@@ -6,13 +6,13 @@ module RCracy
6
6
 
7
7
  def initialize(attrs)
8
8
 
9
- @username = attrs['username']
10
- @kcy_rank = attrs['kcyrank']
11
- @image = attrs['img']
9
+ @username = attrs['username']
10
+ @kcy_rank = attrs['kcyrank']
11
+ @image = attrs['img']
12
12
  @total_awards = attrs['totalawards']
13
13
 
14
14
  end
15
15
 
16
16
  end
17
17
 
18
- end
18
+ end
@@ -1,3 +1,3 @@
1
1
  module RCracy
2
- VERSION = "0.0.9"
2
+ VERSION = "0.1.0"
3
3
  end
data/lib/rcracy.rb CHANGED
@@ -1,114 +1,7 @@
1
- require 'json'
2
- require 'net/http'
1
+ require File.dirname(__FILE__) + '/rcracy/api.rb'
3
2
  require File.dirname(__FILE__) + '/rcracy/version.rb'
4
3
  require File.dirname(__FILE__) + '/rcracy/kcy.rb'
5
4
  require File.dirname(__FILE__) + '/rcracy/nut.rb'
6
5
  require File.dirname(__FILE__) + '/rcracy/user.rb'
7
6
  require File.dirname(__FILE__) + '/rcracy/domain.rb'
8
-
9
- module RCracy
10
-
11
- class Instance
12
-
13
- API_BASE_URL = 'http://karmacracy.com/api/v1'
14
-
15
- def initialize(app_key)
16
- @app_key = app_key
17
- end
18
-
19
- def get_kcys(username, from = 1, num = 10)
20
-
21
- request_url = "#{API_BASE_URL}/user/#{username}?kcy=1&from=#{from}&num=#{num}&appkey=#{@app_key}"
22
-
23
- http_response = Net::HTTP.get_response(URI.parse(request_url))
24
-
25
- hashed_kcys = JSON.parse(http_response.body)['data']['user'][0]['kcys']
26
-
27
- kcys = []
28
-
29
- hashed_kcys.each do |hashed_kcy|
30
-
31
- kcys.push(RCracy::Kcy.new(hashed_kcy))
32
-
33
- end
34
-
35
- return kcys
36
-
37
- end
38
-
39
- def get_domains(username, from = 1, num = 10)
40
-
41
- request_url = "#{API_BASE_URL}/domains/?u=#{username}&from=#{from}&num=#{num}&appkey=#{@app_key}"
42
-
43
- http_response = Net::HTTP.get_response(URI.parse(request_url))
44
-
45
- hashed_domains = JSON.parse(http_response.body)['data']['domain']
46
-
47
- domains = []
48
-
49
- hashed_domains.each do |hashed_domain|
50
-
51
- domains.push(RCracy::Domain.new(hashed_domain))
52
-
53
- end
54
-
55
- return domains
56
-
57
- end
58
-
59
- # Fix nut type
60
- def get_nuts(username, type = 'All')
61
-
62
- request_url = "#{API_BASE_URL}/awards/#{username}?t=#{type}&appkey=#{@app_key}"
63
-
64
- http_response = Net::HTTP.get_response(URI.parse(request_url))
65
-
66
- hashed_nuts = JSON.parse(http_response.body)['data']['nut']
67
-
68
- nuts = []
69
-
70
- hashed_nuts.each do |hashed_nut|
71
-
72
- nuts.push(RCracy::Nut.new(hashed_nut))
73
-
74
- end
75
-
76
- return nuts
77
-
78
- end
79
-
80
- def get_nut_details(username, id, lang = 'en')
81
-
82
- request_url = "#{API_BASE_URL}/awards/#{username}/nut/#{id}?lang=#{lang}&appkey=#{@app_key}"
83
-
84
- http_response = Net::HTTP.get_response(URI.parse(request_url))
85
-
86
- hashed_nut = JSON.parse(http_response.body)['data']['nut']
87
-
88
- return RCracy::Nut.new (hashed_nut)
89
-
90
- end
91
-
92
- def get_users_by_kcy_rank(from = 1, num = 10, now = 0)
93
-
94
- request_url = "#{API_BASE_URL}/rank/?from=#{from}&num=#{num}&now=#{now}&appkey=#{@app_key}"
95
-
96
- http_response = Net::HTTP.get_response(URI.parse(request_url))
97
-
98
- hashed_users = JSON.parse(http_response.body)['data']['user']
99
-
100
- users = []
101
-
102
- hashed_users.each do |hashed_user|
103
-
104
- users.push(RCracy::User.new(hashed_user))
105
-
106
- end
107
-
108
- return users
109
-
110
- end
111
-
112
- end
113
-
114
- end
7
+ require File.dirname(__FILE__) + '/rcracy/configuration.rb'
data/rcracy.gemspec CHANGED
@@ -8,15 +8,11 @@ Gem::Specification.new do |gem|
8
8
  gem.version = RCracy::VERSION
9
9
  gem.authors = ["Pablo Elices"]
10
10
  gem.email = ["pablodanielgomezelices@gmail.com"]
11
- gem.description = %q{RCracy first testing. DO NOT USE.}
12
- gem.summary = %q{RCracy first testing. DO NOT USE.}
13
- gem.homepage = ""
14
-
11
+ gem.description = %q{Simple wrapper for karmacracy.com API}
12
+ gem.summary = %q{Simple wrapper for karmacracy.com API}
13
+ gem.homepage = "https://github.com/pabloelices/rcracy"
15
14
  gem.files = `git ls-files`.split($/)
16
15
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
17
16
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
17
  gem.require_paths = ["lib"]
19
-
20
- # Delete next line? :-)
21
- gem.add_development_dependency 'rake'
22
18
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rcracy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,44 +9,28 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-06 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: rake
16
- requirement: !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: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ! '>='
28
- - !ruby/object:Gem::Version
29
- version: '0'
30
- description: RCracy first testing. DO NOT USE.
12
+ date: 2012-11-11 00:00:00.000000000 Z
13
+ dependencies: []
14
+ description: Simple wrapper for karmacracy.com API
31
15
  email:
32
16
  - pablodanielgomezelices@gmail.com
33
17
  executables: []
34
18
  extensions: []
35
19
  extra_rdoc_files: []
36
20
  files:
37
- - .gitignore
38
21
  - Gemfile
39
22
  - LICENSE.txt
40
23
  - README.md
41
- - Rakefile
42
24
  - lib/rcracy.rb
25
+ - lib/rcracy/api.rb
26
+ - lib/rcracy/configuration.rb
43
27
  - lib/rcracy/domain.rb
44
28
  - lib/rcracy/kcy.rb
45
29
  - lib/rcracy/nut.rb
46
30
  - lib/rcracy/user.rb
47
31
  - lib/rcracy/version.rb
48
32
  - rcracy.gemspec
49
- homepage: ''
33
+ homepage: https://github.com/pabloelices/rcracy
50
34
  licenses: []
51
35
  post_install_message:
52
36
  rdoc_options: []
@@ -69,5 +53,5 @@ rubyforge_project:
69
53
  rubygems_version: 1.8.24
70
54
  signing_key:
71
55
  specification_version: 3
72
- summary: RCracy first testing. DO NOT USE.
56
+ summary: Simple wrapper for karmacracy.com API
73
57
  test_files: []
data/.gitignore DELETED
@@ -1,17 +0,0 @@
1
- *.gem
2
- *.rbc
3
- .bundle
4
- .config
5
- .yardoc
6
- Gemfile.lock
7
- InstalledFiles
8
- _yardoc
9
- coverage
10
- doc/
11
- lib/bundler/man
12
- pkg
13
- rdoc
14
- spec/reports
15
- test/tmp
16
- test/version_tmp
17
- tmp
data/Rakefile DELETED
@@ -1,9 +0,0 @@
1
- #!/usr/bin/env rake
2
- require "bundler/gem_tasks"
3
- require 'rake/testtask'
4
- Rake::TestTask.new do |t|
5
- t.libs << 'lib/rcracy'
6
- t.test_files = FileList['test/lib/rcracy/*_test.rb']
7
- t.verbose = true
8
- end
9
- task :default => :test