kickstapi 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- YTZmZTAxNDgwYzIxMTJkNmQwZWQ1MTUwOTFhOTFjM2RjNmViNWRlZQ==
4
+ ZDNlZWI2NzJjNjNkZmQ1ZTViNmEwOWEwNjI4NGMyZjk1YjhmYTFhZg==
5
5
  data.tar.gz: !binary |-
6
- MGQxZjk0MTA0ZjZhOTRjM2M0N2ZhYmE1ZTFlZDU3YTIzZTg4MTI2NA==
6
+ NGUxYjdhN2NlZGUwNDI4N2UxMzA2YWM5MzBlNjUyYzdkNTdiZmQ5Mg==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- NDkwNzllMmNhOTM1ZGExMWMxN2NmOThiMGViZTExMTkwMGY4NzZjNzgwYzZm
10
- ZTQxNGE0Y2ZkYTZhMTlmZmEwMjdkMjNjZmVhZTAwMDE2ZTE1ODhjZjIyM2M3
11
- MThjZGQ0Y2M5ZWU3ZTIzMmM5NmEzMWE1YWVhOWU0Mjk2NzEzY2M=
9
+ YTVlNjk5ZDM3OGJhN2FkYWRmMWE2ZDY4NGY0NzRiN2Q0NzExYTRiZmU2ZmM4
10
+ NzE0ZGJlZTc5NzM5OTVkODNkNDg1ZjI0MGY4MzlmNDVmYTU0NTQ4ODE0ZmQ0
11
+ ZDRhZTY0OGM5NWViZDhlNmNjMTEzZjE5ZmZlMzdhYzg4YjE0YjU=
12
12
  data.tar.gz: !binary |-
13
- NWZhMTU3MWU4MzNhYjEwYjIwZTZiZDFjMDg1MGEwMWM3NDdkOWMyMTMxZGQ0
14
- MmRiNzcyMTFkN2U1NWMwNmExODdhM2IzY2QzMTllMjY1MzE1YzRhZTU1YmVj
15
- MTRkM2UyOGQxMDZlZDkyZGRlNTBhMWU1NmJhNzg4Y2EyODhkNGM=
13
+ ZDY2ZTU1Mzg4ZmJmZWJiNjk1NThmN2VlYzNlOWRlNzkyODg2NGQ2YjI1MmMy
14
+ ODhjNTM3MTkyYTIyOWNmYWI1M2ViZGQ4YjRhYWNkNGI5YTIxNzZkZjc5YWFk
15
+ ZWVmYjM3MWM4ODE5OWRiNDM5ODFmODM0M2Y5MDQyYWNjNzc5OGY=
data/kickstapi.gemspec CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
10
10
  spec.email = ["kristof@vannotten.be"]
11
11
  spec.description = %q{Ruby gem that offers an API for kickstarter}
12
12
  spec.summary = %q{This gem offers an API for Kickstarter}
13
- spec.homepage = ""
13
+ spec.homepage = "https://github.com/kvannotten/kickstapi"
14
14
  spec.license = "MIT"
15
15
 
16
16
  spec.files = `git ls-files`.split($/)
@@ -1,5 +1,7 @@
1
1
  module Kickstapi
2
2
  class Project
3
- attr_accessor :name, :url, :creator, :about, :pledged, :percentage_funded, :backers, :status
3
+ attr_accessor :id, :name, :url, :creator, :about,
4
+ :pledged, :currency, :percentage_funded, :backers,
5
+ :status, :end_date
4
6
  end
5
7
  end
@@ -1,3 +1,3 @@
1
1
  module Kickstapi
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
data/lib/kickstapi.rb CHANGED
@@ -21,16 +21,24 @@ module Kickstapi
21
21
 
22
22
  p.name = bb_card_link.content
23
23
  p.url = bb_card_link.attributes["href"].value
24
-
24
+ p.id = p.url.scan(/\/(\d+)\//).flatten.first.to_i
25
25
  bb_card_author = bb_card.search("span").first
26
26
  p.creator = bb_card_author.content.gsub(/\nby\n/, '').gsub(/\n/, '')
27
27
  p.about = project.search("p.bbcard_blurb").first.content.strip
28
28
 
29
29
  if project.search(".project-failed").first.nil? then
30
- p.pledged = project.search("strong.project-pledged-amount").first.content.gsub(/\n/, '').gsub(/pledged/, '')
30
+ pledged = project.search("strong.project-pledged-amount").first.content.gsub(/\n/, '').gsub(/pledged/, '')
31
+
32
+ p.pledged = pledged[1, pledged.length].gsub(',', '').to_f
33
+ p.currency = pledged[0, 1]
31
34
  p.percentage_funded = project.search("strong.project-pledged-percent").first.content.gsub(/\n/, '').gsub(/funded/, '')
32
35
  p.backers = project.search("li.middle").first.search("strong").first.content.gsub(/\n/, '')
33
- p.status = project.search("li.last").first.search("strong").first.content
36
+ if project.search("li.ksr_page_timer").first.nil? then
37
+ p.status = project.search("li.last").first.search("strong").first.content
38
+ else
39
+ p.end_date = DateTime.parse(project.search("li.ksr_page_timer").first.attributes["data-end_time"].value)
40
+ p.status = "Running"
41
+ end
34
42
  else
35
43
  p.status = "Failed"
36
44
  end
@@ -41,4 +49,8 @@ module Kickstapi
41
49
  projects
42
50
  end
43
51
 
52
+ def self.get_project name
53
+ return Kickstapi.search_projects(name).first
54
+ end
55
+
44
56
  end
@@ -21,10 +21,18 @@ describe Kickstapi do
21
21
  context 'a project' do
22
22
  subject { @projects.first }
23
23
 
24
- [:name, :url, :creator, :about, :pledged, :percentage_funded, :backers, :status].each do |method|
24
+ [ :id, :name, :url, :creator,
25
+ :about, :pledged, :currency,
26
+ :percentage_funded, :backers,
27
+ :status].each do |method|
25
28
  it { should respond_to method }
26
- its(method) { should_not be_empty }
29
+ its(method) { should_not be_nil }
27
30
  end
31
+
32
+ its(:id) { should be_kind_of Fixnum }
33
+ its(:id) { should > 0 }
34
+
35
+ its(:pledged) { should be_kind_of Float }
28
36
  end
29
37
 
30
38
  context 'failed project' do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kickstapi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kristof Vannotten
@@ -100,7 +100,7 @@ files:
100
100
  - lib/kickstapi/version.rb
101
101
  - spec/kickstapi_spec.rb
102
102
  - spec/spec_helper.rb
103
- homepage: ''
103
+ homepage: https://github.com/kvannotten/kickstapi
104
104
  licenses:
105
105
  - MIT
106
106
  metadata: {}