gnip-rules 1.0.0 → 1.0.1
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/VERSION +1 -1
- data/gnip-rules.gemspec +77 -0
- data/lib/gnip-rules.rb +18 -2
- data/test/test_rule.rb +13 -0
- metadata +23 -22
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.0.
|
1
|
+
1.0.1
|
data/gnip-rules.gemspec
ADDED
@@ -0,0 +1,77 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = "gnip-rules"
|
8
|
+
s.version = "1.0.1"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["Spencer Markowski", "The Able Few"]
|
12
|
+
s.date = "2011-12-19"
|
13
|
+
s.description = "Remove, Add and List your Gnip Rules"
|
14
|
+
s.email = "spencer@theablefew.com"
|
15
|
+
s.extra_rdoc_files = [
|
16
|
+
"LICENSE.txt",
|
17
|
+
"README.md"
|
18
|
+
]
|
19
|
+
s.files = [
|
20
|
+
".document",
|
21
|
+
"Gemfile",
|
22
|
+
"LICENSE.txt",
|
23
|
+
"README.md",
|
24
|
+
"Rakefile",
|
25
|
+
"VERSION",
|
26
|
+
"gnip-rules.gemspec",
|
27
|
+
"lib/gnip-rules.rb",
|
28
|
+
"test/helper.rb",
|
29
|
+
"test/test_gnip-rules.rb",
|
30
|
+
"test/test_rule.rb"
|
31
|
+
]
|
32
|
+
s.homepage = "http://github.com/theablefew/gnip-rules"
|
33
|
+
s.licenses = ["MIT"]
|
34
|
+
s.require_paths = ["lib"]
|
35
|
+
s.rubygems_version = "1.8.10"
|
36
|
+
s.summary = "A simple wrapper for the Gnip Rules API"
|
37
|
+
|
38
|
+
if s.respond_to? :specification_version then
|
39
|
+
s.specification_version = 3
|
40
|
+
|
41
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
42
|
+
s.add_runtime_dependency(%q<httparty>, [">= 0"])
|
43
|
+
s.add_runtime_dependency(%q<rake>, [">= 0"])
|
44
|
+
s.add_runtime_dependency(%q<json>, [">= 0"])
|
45
|
+
s.add_runtime_dependency(%q<activesupport>, [">= 0"])
|
46
|
+
s.add_development_dependency(%q<shoulda-context>, [">= 0"])
|
47
|
+
s.add_development_dependency(%q<turn>, [">= 0"])
|
48
|
+
s.add_development_dependency(%q<assert2>, [">= 0"])
|
49
|
+
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
|
50
|
+
s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
|
51
|
+
s.add_development_dependency(%q<rcov>, [">= 0"])
|
52
|
+
else
|
53
|
+
s.add_dependency(%q<httparty>, [">= 0"])
|
54
|
+
s.add_dependency(%q<rake>, [">= 0"])
|
55
|
+
s.add_dependency(%q<json>, [">= 0"])
|
56
|
+
s.add_dependency(%q<activesupport>, [">= 0"])
|
57
|
+
s.add_dependency(%q<shoulda-context>, [">= 0"])
|
58
|
+
s.add_dependency(%q<turn>, [">= 0"])
|
59
|
+
s.add_dependency(%q<assert2>, [">= 0"])
|
60
|
+
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
61
|
+
s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
|
62
|
+
s.add_dependency(%q<rcov>, [">= 0"])
|
63
|
+
end
|
64
|
+
else
|
65
|
+
s.add_dependency(%q<httparty>, [">= 0"])
|
66
|
+
s.add_dependency(%q<rake>, [">= 0"])
|
67
|
+
s.add_dependency(%q<json>, [">= 0"])
|
68
|
+
s.add_dependency(%q<activesupport>, [">= 0"])
|
69
|
+
s.add_dependency(%q<shoulda-context>, [">= 0"])
|
70
|
+
s.add_dependency(%q<turn>, [">= 0"])
|
71
|
+
s.add_dependency(%q<assert2>, [">= 0"])
|
72
|
+
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
73
|
+
s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
|
74
|
+
s.add_dependency(%q<rcov>, [">= 0"])
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
data/lib/gnip-rules.rb
CHANGED
@@ -46,7 +46,6 @@ module Gnip
|
|
46
46
|
def load_credentials!
|
47
47
|
if File.exists?( 'config/gnip.yml' )
|
48
48
|
@config = YAML.load_file( "config/gnip.yml" )[environment.to_s]
|
49
|
-
puts "c: #{@config}"
|
50
49
|
else
|
51
50
|
raise Exception.new( <<-RUBY
|
52
51
|
You must provide a configuration file at config/gnip.yml
|
@@ -79,11 +78,12 @@ module Gnip
|
|
79
78
|
end
|
80
79
|
|
81
80
|
class Rule
|
82
|
-
attr_accessor :value, :tag
|
81
|
+
attr_accessor :value, :tag, :errors
|
83
82
|
|
84
83
|
def initialize( v , t = nil )
|
85
84
|
@value = v
|
86
85
|
@tag = t
|
86
|
+
@errors = []
|
87
87
|
end
|
88
88
|
|
89
89
|
def to_json
|
@@ -92,5 +92,21 @@ module Gnip
|
|
92
92
|
JSON.generate( o )
|
93
93
|
end
|
94
94
|
|
95
|
+
def valid?
|
96
|
+
valid = validate_phrase_count
|
97
|
+
raise "Invalid rule #{self.errors.join('\n')}" unless valid
|
98
|
+
end
|
99
|
+
|
100
|
+
private
|
101
|
+
|
102
|
+
def validate_phrase_count
|
103
|
+
phrases = @value.scan( /(\"[\w\-\s]+\"|\w+\s?)/ ).count
|
104
|
+
if phrases > 10
|
105
|
+
@errors << "Too many clauses in phrase - #{phrases}. The maximum allowed is 10"
|
106
|
+
return false
|
107
|
+
end
|
108
|
+
return true
|
109
|
+
end
|
110
|
+
|
95
111
|
end
|
96
112
|
end
|
data/test/test_rule.rb
CHANGED
@@ -23,6 +23,19 @@ class TestRule < Test::Unit::TestCase
|
|
23
23
|
end
|
24
24
|
end
|
25
25
|
|
26
|
+
context "with more than 10 phrases" do
|
27
|
+
setup do
|
28
|
+
@rule = Gnip::Rule.new('mirror mirror clip -watch -see -project -mirror -relativity -armie -julia -lily -trailer -movie' )
|
29
|
+
end
|
30
|
+
|
31
|
+
should "raise an invalid length error" do
|
32
|
+
assert_raise RuntimeError do
|
33
|
+
@rule.valid?
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
26
39
|
context "with tags" do
|
27
40
|
setup do
|
28
41
|
@rule = Gnip::Rule.new( "gorgon" , "scary" )
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gnip-rules
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -14,7 +14,7 @@ date: 2011-12-19 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: httparty
|
17
|
-
requirement: &
|
17
|
+
requirement: &70286624182720 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: '0'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *70286624182720
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: rake
|
28
|
-
requirement: &
|
28
|
+
requirement: &70286624331740 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ! '>='
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: '0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *70286624331740
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: json
|
39
|
-
requirement: &
|
39
|
+
requirement: &70286624416560 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ! '>='
|
@@ -44,10 +44,10 @@ dependencies:
|
|
44
44
|
version: '0'
|
45
45
|
type: :runtime
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *70286624416560
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: activesupport
|
50
|
-
requirement: &
|
50
|
+
requirement: &70286624414700 !ruby/object:Gem::Requirement
|
51
51
|
none: false
|
52
52
|
requirements:
|
53
53
|
- - ! '>='
|
@@ -55,10 +55,10 @@ dependencies:
|
|
55
55
|
version: '0'
|
56
56
|
type: :runtime
|
57
57
|
prerelease: false
|
58
|
-
version_requirements: *
|
58
|
+
version_requirements: *70286624414700
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
60
|
name: shoulda-context
|
61
|
-
requirement: &
|
61
|
+
requirement: &70286628109880 !ruby/object:Gem::Requirement
|
62
62
|
none: false
|
63
63
|
requirements:
|
64
64
|
- - ! '>='
|
@@ -66,10 +66,10 @@ dependencies:
|
|
66
66
|
version: '0'
|
67
67
|
type: :development
|
68
68
|
prerelease: false
|
69
|
-
version_requirements: *
|
69
|
+
version_requirements: *70286628109880
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: turn
|
72
|
-
requirement: &
|
72
|
+
requirement: &70286628108560 !ruby/object:Gem::Requirement
|
73
73
|
none: false
|
74
74
|
requirements:
|
75
75
|
- - ! '>='
|
@@ -77,10 +77,10 @@ dependencies:
|
|
77
77
|
version: '0'
|
78
78
|
type: :development
|
79
79
|
prerelease: false
|
80
|
-
version_requirements: *
|
80
|
+
version_requirements: *70286628108560
|
81
81
|
- !ruby/object:Gem::Dependency
|
82
82
|
name: assert2
|
83
|
-
requirement: &
|
83
|
+
requirement: &70286628107240 !ruby/object:Gem::Requirement
|
84
84
|
none: false
|
85
85
|
requirements:
|
86
86
|
- - ! '>='
|
@@ -88,10 +88,10 @@ dependencies:
|
|
88
88
|
version: '0'
|
89
89
|
type: :development
|
90
90
|
prerelease: false
|
91
|
-
version_requirements: *
|
91
|
+
version_requirements: *70286628107240
|
92
92
|
- !ruby/object:Gem::Dependency
|
93
93
|
name: bundler
|
94
|
-
requirement: &
|
94
|
+
requirement: &70286628105700 !ruby/object:Gem::Requirement
|
95
95
|
none: false
|
96
96
|
requirements:
|
97
97
|
- - ~>
|
@@ -99,10 +99,10 @@ dependencies:
|
|
99
99
|
version: 1.0.0
|
100
100
|
type: :development
|
101
101
|
prerelease: false
|
102
|
-
version_requirements: *
|
102
|
+
version_requirements: *70286628105700
|
103
103
|
- !ruby/object:Gem::Dependency
|
104
104
|
name: jeweler
|
105
|
-
requirement: &
|
105
|
+
requirement: &70286628103560 !ruby/object:Gem::Requirement
|
106
106
|
none: false
|
107
107
|
requirements:
|
108
108
|
- - ~>
|
@@ -110,10 +110,10 @@ dependencies:
|
|
110
110
|
version: 1.6.4
|
111
111
|
type: :development
|
112
112
|
prerelease: false
|
113
|
-
version_requirements: *
|
113
|
+
version_requirements: *70286628103560
|
114
114
|
- !ruby/object:Gem::Dependency
|
115
115
|
name: rcov
|
116
|
-
requirement: &
|
116
|
+
requirement: &70286628102560 !ruby/object:Gem::Requirement
|
117
117
|
none: false
|
118
118
|
requirements:
|
119
119
|
- - ! '>='
|
@@ -121,7 +121,7 @@ dependencies:
|
|
121
121
|
version: '0'
|
122
122
|
type: :development
|
123
123
|
prerelease: false
|
124
|
-
version_requirements: *
|
124
|
+
version_requirements: *70286628102560
|
125
125
|
description: Remove, Add and List your Gnip Rules
|
126
126
|
email: spencer@theablefew.com
|
127
127
|
executables: []
|
@@ -136,6 +136,7 @@ files:
|
|
136
136
|
- README.md
|
137
137
|
- Rakefile
|
138
138
|
- VERSION
|
139
|
+
- gnip-rules.gemspec
|
139
140
|
- lib/gnip-rules.rb
|
140
141
|
- test/helper.rb
|
141
142
|
- test/test_gnip-rules.rb
|
@@ -155,7 +156,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
155
156
|
version: '0'
|
156
157
|
segments:
|
157
158
|
- 0
|
158
|
-
hash: -
|
159
|
+
hash: -2414648297974948062
|
159
160
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
160
161
|
none: false
|
161
162
|
requirements:
|