kickstapi 0.0.1 → 0.0.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.
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: {}