juju 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.
- data/Gemfile +6 -0
- data/Gemfile.lock +21 -0
- data/README.rdoc +1 -1
- data/lib/juju.rb +19 -15
- data/lib/juju/version.rb +4 -0
- metadata +5 -2
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
PATH
|
|
2
|
+
remote: .
|
|
3
|
+
specs:
|
|
4
|
+
juju (0.0.2)
|
|
5
|
+
rest-client
|
|
6
|
+
|
|
7
|
+
GEM
|
|
8
|
+
remote: https://rubygems.org/
|
|
9
|
+
specs:
|
|
10
|
+
mime-types (1.23)
|
|
11
|
+
rake (10.1.0)
|
|
12
|
+
rest-client (1.6.7)
|
|
13
|
+
mime-types (>= 1.16)
|
|
14
|
+
|
|
15
|
+
PLATFORMS
|
|
16
|
+
ruby
|
|
17
|
+
|
|
18
|
+
DEPENDENCIES
|
|
19
|
+
bundler (~> 1.3)
|
|
20
|
+
juju!
|
|
21
|
+
rake
|
data/README.rdoc
CHANGED
data/lib/juju.rb
CHANGED
|
@@ -14,30 +14,34 @@ class Juju
|
|
|
14
14
|
|
|
15
15
|
def search(params)
|
|
16
16
|
check_required params
|
|
17
|
-
|
|
18
|
-
response = RestClient.get URL, {:params => params}
|
|
19
|
-
rescue RestClient::BadRequest
|
|
20
|
-
raise JujuError, 'Request failed: invalid parameters'
|
|
21
|
-
end
|
|
17
|
+
response = RestClient.get URL, {:params => params}
|
|
22
18
|
parse_xml response
|
|
19
|
+
rescue RestClient::BadRequest
|
|
20
|
+
raise JujuError, 'Request failed: invalid parameters'
|
|
23
21
|
end
|
|
24
22
|
|
|
25
23
|
protected
|
|
26
24
|
def parse_xml(xml)
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
rescue REXML::ParseException
|
|
30
|
-
raise JujuError, 'Did not get a valid XML response from Juju'
|
|
31
|
-
end
|
|
32
|
-
jobs = data['item'].each {|item| item['link'].squish!}
|
|
25
|
+
data = Hash.from_xml(xml)['rss']['channel']
|
|
26
|
+
jobs = remove_tags_and_spaces data['item']
|
|
33
27
|
JujuResult.new(jobs, data['totalresults'], data['startindex'], data['itemsperpage'])
|
|
28
|
+
rescue REXML::ParseException
|
|
29
|
+
raise JujuError, 'Did not get a valid XML response from Juju'
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def remove_tags_and_spaces(jobs)
|
|
33
|
+
jobs.each do |item|
|
|
34
|
+
item['link'].squish!
|
|
35
|
+
item['title'] = strip_tags(item['title']).squish!
|
|
36
|
+
item['description'] = strip_tags(item['description']).squish!
|
|
37
|
+
end
|
|
34
38
|
end
|
|
35
39
|
|
|
36
40
|
def check_required(params)
|
|
37
|
-
raise
|
|
38
|
-
raise
|
|
39
|
-
raise
|
|
40
|
-
raise
|
|
41
|
+
raise ArgumentError.new('Partner ID was not provided') unless params[:partnerid]
|
|
42
|
+
raise ArgumentError.new('IP Address was not provided') unless params[:ipaddress]
|
|
43
|
+
raise ArgumentError.new('User-Agent was not provided') unless params[:useragent]
|
|
44
|
+
raise ArgumentError.new('Required parameters were not provided') unless params[:k] || params[:l] || params[:c]
|
|
41
45
|
end
|
|
42
46
|
|
|
43
47
|
end
|
data/lib/juju/version.rb
ADDED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: juju
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.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-07-
|
|
12
|
+
date: 2013-07-22 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: bundler
|
|
@@ -67,10 +67,13 @@ extensions: []
|
|
|
67
67
|
extra_rdoc_files: []
|
|
68
68
|
files:
|
|
69
69
|
- .gitignore
|
|
70
|
+
- Gemfile
|
|
71
|
+
- Gemfile.lock
|
|
70
72
|
- README.rdoc
|
|
71
73
|
- Rakefile
|
|
72
74
|
- juju.gemspec
|
|
73
75
|
- lib/juju.rb
|
|
76
|
+
- lib/juju/version.rb
|
|
74
77
|
homepage: ''
|
|
75
78
|
licenses:
|
|
76
79
|
- MIT
|