sex_it_up 1.1.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,4 @@
1
+ {<img src="https://secure.travis-ci.org/aantix/sex_it_up.png"/>}[https://secure.travis-ci.org/aantix/sex_it_up]
1
2
  == Description
2
3
  Turn your boring demo website and placeholder images into a beautiful display of artwork.
3
4
 
@@ -37,4 +38,4 @@ http://i.imgur.com/bmHvj.png
37
38
 
38
39
  == Copyright
39
40
 
40
- Copyright (c) 2010 Jim Jones. See LICENSE for details.
41
+ Copyright (c) 2010-2012 Jim Jones. See LICENSE for details.
data/Rakefile CHANGED
@@ -1,50 +1,5 @@
1
- require 'rubygems'
2
- require 'bundler'
3
- begin
4
- Bundler.setup(:default, :development)
5
- rescue Bundler::BundlerError => e
6
- $stderr.puts e.message
7
- $stderr.puts "Run `bundle install` to install missing gems"
8
- exit e.status_code
9
- end
10
- require 'rake'
1
+ require "bundler/gem_tasks"
11
2
 
12
- require 'jeweler'
13
- Jeweler::Tasks.new do |gem|
14
- gem.name = "sex_it_up"
15
- gem.summary = %Q{Replace your boring place-holder images with beautiful public domain images of history's greatest artwork and sculptures.}
16
- gem.description = %Q{SexItUp allows for the easy drop-in of public domain images for site mockups and user avatars.}
17
- gem.email = "jjones@aantix.com"
18
- gem.homepage = "http://github.com/aantix/sex_it_up"
19
- gem.authors = ["Jim Jones"]
20
- gem.require_path = 'lib'
21
- gem.version = "1.1.0"
22
- gem.add_development_dependency "paperclip", ">= 2.3.5"
23
- gem.add_development_dependency "mechanize", ">= 1.0.0"
24
- gem.add_development_dependency "google-search", ">= 1.0.2"
25
- gem.files = %w(MIT-LICENSE README.textile Rakefile init.rb) + Dir.glob("{generators,lib,spec}/**/*")
26
- end
27
- Jeweler::RubygemsDotOrgTasks.new
28
-
29
- require 'rspec/core'
30
- require 'rspec/core/rake_task'
31
- RSpec::Core::RakeTask.new(:spec) do |spec|
32
- spec.pattern = FileList['spec/**/*_spec.rb']
33
- end
34
-
35
- RSpec::Core::RakeTask.new(:rcov) do |spec|
36
- spec.pattern = 'spec/**/*_spec.rb'
37
- spec.rcov = true
38
- end
39
-
40
- task :default => :spec
41
-
42
- require 'rake/rdoctask'
43
- Rake::RDocTask.new do |rdoc|
44
- version = File.exist?('VERSION') ? File.read('VERSION') : ""
45
-
46
- rdoc.rdoc_dir = 'rdoc'
47
- rdoc.title = "sex_it_up #{version}"
48
- rdoc.rdoc_files.include('README*')
49
- rdoc.rdoc_files.include('lib/**/*.rb')
50
- end
3
+ task :default do
4
+ sh "rspec spec/"
5
+ end
@@ -19,11 +19,6 @@ module SexItUp
19
19
  where(['image_search_term = ?', term])
20
20
  }
21
21
 
22
- scope :random, lambda {
23
- max_id = connection.select_value("select max(id) from #{self.table_name}")
24
- where("id >= #{rand(max_id)}")
25
- }
26
-
27
22
  attr_reader :sizes
28
23
  has_attached_file :image, :styles => Proc.new { |i| i.instance.attachment_sizes }
29
24
 
@@ -104,12 +99,13 @@ module SexItUp
104
99
  # And words of pledging trust and lifetimes stretching forever
105
100
  # So what went wrong? It was a lie, it crumbled apart
106
101
  # Ghost figures of past, present, future haunting the heart
107
- sexy_image = term.class == SexItUp::SexItUpImage ? term : SexItUpImage.where(['image_search_term = ?', term]).random.first
102
+ sexy_image = term.is_a?(SexItUp::SexItUpImage) ? term : SexItUpImage.where(['image_search_term = ?', term]).random
108
103
 
109
104
  if sexy_image.nil? || sexy_image.blank?
105
+ puts "No image found. Searching for #{term}."
110
106
  # No image object passed in or found; let's go search.
111
107
 
112
- sexy_image = SexItUpImage.find_all(term).random.first
108
+ sexy_image = SexItUpImage.find_all(term).random
113
109
  end
114
110
 
115
111
  unless sexy_image.nil?
@@ -8,9 +8,14 @@ describe SexItUp::SexItUpHelper do
8
8
  # Start with a clean slate
9
9
  SexItUp::SexItUpImage.delete_all
10
10
  @image = Factory.build(:sex_it_up_image)
11
+ @data = json_fixture('school_results')
11
12
  end
12
13
 
13
14
  describe "sexy_image" do
15
+ before(:each) do
16
+ Google::Search::Web.any_instance.stubs(:get_raw).returns(@data)
17
+ end
18
+
14
19
  it "should source a random image for the search term and size it accordingly" do
15
20
  sexy_image('school', {:width => 50, :height => 50}).should =~ /.jpg/i
16
21
  sexy_image('school', {:width => 50, :height => 50}).should =~ /s_50x50/
@@ -19,7 +24,6 @@ describe SexItUp::SexItUpHelper do
19
24
  it "should generate an image tag for the Rafael.jpg image " do
20
25
  sexy_image(@image, {:width => 50, :height => 50}).should =~ /s_50x50\/Plato_and_Aristotle_in_The_School_of_Athens,_by_italian_Rafael.jpg/
21
26
  end
22
-
23
27
  end
24
28
 
25
29
  end
@@ -2,23 +2,29 @@
2
2
  ROOT_DIR = `pwd`.strip unless defined? ROOT_DIR
3
3
  require ROOT_DIR + '/spec/spec_helper'
4
4
 
5
- describe SexItUp::SexItUpImage, '#find_all' do
5
+ describe SexItUp::SexItUpImage do
6
6
  before(:all) do
7
7
  # Start with a clean slate
8
8
  SexItUp::SexItUpImage.delete_all
9
+
10
+ @data = json_fixture('school_results')
11
+ end
12
+
13
+ before(:each) do
14
+ Google::Search::Web.any_instance.stubs(:get_raw).returns(@data)
9
15
  end
10
16
 
11
17
  it "shouldn't have any images cached" do
12
- SexItUp::SexItUpImage.all.should have(0).things
18
+ SexItUp::SexItUpImage.count.should == 0
13
19
  end
14
20
 
15
21
  it "should cache at least one image for the search term 'school'" do
16
22
  SexItUp::SexItUpImage.find_all('school')
17
- SexItUp::SexItUpImage.all.should have_at_least(1).things
23
+ SexItUp::SexItUpImage.count.should == 1
18
24
  end
19
25
 
20
26
  it "should find the 'Plato and Aristotle in The School of Athens' image'" do
21
- @image = Factory.build(:sex_it_up_image)
27
+ @image = Factory.create(:sex_it_up_image)
22
28
 
23
29
  url = 'http://upload.wikimedia.org/wikipedia/commons/f/ff/Plato_and_Aristotle_in_The_School_of_Athens%2C_by_italian_Rafael.jpg'
24
30
  SexItUp::SexItUpImage.find_by_image_original_url(url).image_original_url.should == @image.image_original_url
@@ -8,6 +8,7 @@ require 'factory_girl'
8
8
  require 'active_record'
9
9
  require 'active_support'
10
10
  require 'logger'
11
+ require 'randumb'
11
12
 
12
13
  require 'initializers/paperclip'
13
14
 
@@ -15,6 +16,18 @@ gem 'sqlite3-ruby'
15
16
 
16
17
  DB = '/tmp/sex_it_up.sqlite'
17
18
 
19
+ def fixture path
20
+ File.read File.dirname(__FILE__) + "/fixtures/#{path}"
21
+ end
22
+
23
+ def json_fixture name
24
+ fixture("#{name}.json")
25
+ end
26
+
27
+ RSpec.configure do |config|
28
+ config.mock_with :mocha
29
+ end
30
+
18
31
  # Delete the db if exists so we have a clean slate to run against.
19
32
  File.delete(DB) rescue nil
20
33
 
@@ -29,17 +42,8 @@ ActiveRecord::Schema.define(:version => 1) do
29
42
  load(File.dirname(__FILE__) + '/schema.rb')
30
43
  end
31
44
 
32
- # Requires supporting files with custom matchers and macros, etc,
33
- # in ./support/ and its subdirectories.
34
- Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
35
45
  Dir["#{File.dirname(__FILE__)}/helpers/**/*.rb"].each {|f| require f}
36
46
 
37
- # Factories aren't autodiscovered in non-rails environments so have to
38
- # explicitly find them.
39
- Factory.find_definitions
40
-
41
- RSpec.configure do |config|
42
- config.mock_with :rspec
43
- end
47
+ FactoryGirl.find_definitions
44
48
 
45
49
 
metadata CHANGED
@@ -1,230 +1,181 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sex_it_up
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
5
- segments:
6
- - 1
7
- - 1
8
- - 0
9
- prerelease: false
10
- segments_generated: true
4
+ version: 1.1.1
5
+ prerelease:
11
6
  platform: ruby
12
7
  authors:
13
8
  - Jim Jones
14
- autorequire: !!null
9
+ autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
- date: 2011-12-27 00:00:00.000000000 -08:00
18
- default_executable: !!null
12
+ date: 2012-01-02 00:00:00.000000000 Z
19
13
  dependencies:
20
14
  - !ruby/object:Gem::Dependency
21
15
  name: activerecord
22
- requirement: &2157120720 !ruby/object:Gem::Requirement
16
+ requirement: &2154526680 !ruby/object:Gem::Requirement
23
17
  none: false
24
18
  requirements:
25
19
  - - ! '>='
26
20
  - !ruby/object:Gem::Version
27
21
  version: 3.0.1
28
- segments:
29
- - 3
30
- - 0
31
- - 1
32
- segments_generated: true
33
22
  type: :runtime
34
23
  prerelease: false
35
- version_requirements: *2157120720
24
+ version_requirements: *2154526680
36
25
  - !ruby/object:Gem::Dependency
37
26
  name: actionpack
38
- requirement: &2157119920 !ruby/object:Gem::Requirement
27
+ requirement: &2154526200 !ruby/object:Gem::Requirement
39
28
  none: false
40
29
  requirements:
41
30
  - - ! '>='
42
31
  - !ruby/object:Gem::Version
43
32
  version: 3.0.1
44
- segments:
45
- - 3
46
- - 0
47
- - 1
48
- segments_generated: true
49
33
  type: :runtime
50
34
  prerelease: false
51
- version_requirements: *2157119920
35
+ version_requirements: *2154526200
52
36
  - !ruby/object:Gem::Dependency
53
37
  name: paperclip
54
- requirement: &2157118960 !ruby/object:Gem::Requirement
38
+ requirement: &2154525740 !ruby/object:Gem::Requirement
55
39
  none: false
56
40
  requirements:
57
41
  - - ! '>='
58
42
  - !ruby/object:Gem::Version
59
43
  version: 2.3.5
60
- segments:
61
- - 2
62
- - 3
63
- - 5
64
- segments_generated: true
65
44
  type: :runtime
66
45
  prerelease: false
67
- version_requirements: *2157118960
46
+ version_requirements: *2154525740
68
47
  - !ruby/object:Gem::Dependency
69
48
  name: mechanize
70
- requirement: &2157118180 !ruby/object:Gem::Requirement
49
+ requirement: &2154525220 !ruby/object:Gem::Requirement
71
50
  none: false
72
51
  requirements:
73
52
  - - ! '>='
74
53
  - !ruby/object:Gem::Version
75
54
  version: 1.0.0
76
- segments:
77
- - 1
78
- - 0
79
- - 0
80
- segments_generated: true
81
55
  type: :runtime
82
56
  prerelease: false
83
- version_requirements: *2157118180
57
+ version_requirements: *2154525220
84
58
  - !ruby/object:Gem::Dependency
85
59
  name: google-search
86
- requirement: &2157117220 !ruby/object:Gem::Requirement
60
+ requirement: &2154524740 !ruby/object:Gem::Requirement
87
61
  none: false
88
62
  requirements:
89
63
  - - ! '>='
90
64
  - !ruby/object:Gem::Version
91
65
  version: 1.0.2
92
- segments:
93
- - 1
94
- - 0
95
- - 2
96
- segments_generated: true
97
66
  type: :runtime
98
67
  prerelease: false
99
- version_requirements: *2157117220
68
+ version_requirements: *2154524740
69
+ - !ruby/object:Gem::Dependency
70
+ name: randumb
71
+ requirement: &2154524240 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :runtime
78
+ prerelease: false
79
+ version_requirements: *2154524240
100
80
  - !ruby/object:Gem::Dependency
101
81
  name: factory_girl
102
- requirement: &2157116400 !ruby/object:Gem::Requirement
82
+ requirement: &2154523640 !ruby/object:Gem::Requirement
103
83
  none: false
104
84
  requirements:
105
- - - =
85
+ - - ! '>='
106
86
  - !ruby/object:Gem::Version
107
- version: 1.3.2
108
- segments:
109
- - 1
110
- - 3
111
- - 2
112
- segments_generated: true
87
+ version: '0'
113
88
  type: :development
114
89
  prerelease: false
115
- version_requirements: *2157116400
90
+ version_requirements: *2154523640
116
91
  - !ruby/object:Gem::Dependency
117
92
  name: rspec-rails
118
- requirement: &2157115460 !ruby/object:Gem::Requirement
93
+ requirement: &2154523060 !ruby/object:Gem::Requirement
119
94
  none: false
120
95
  requirements:
121
- - - ~>
96
+ - - ! '>='
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
99
+ type: :development
100
+ prerelease: false
101
+ version_requirements: *2154523060
102
+ - !ruby/object:Gem::Dependency
103
+ name: mocha
104
+ requirement: &2154522320 !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
122
108
  - !ruby/object:Gem::Version
123
- version: 2.1.0
124
- segments:
125
- - 2
126
- - 1
127
- - 0
128
- segments_generated: true
109
+ version: '0'
129
110
  type: :development
130
111
  prerelease: false
131
- version_requirements: *2157115460
112
+ version_requirements: *2154522320
132
113
  - !ruby/object:Gem::Dependency
133
114
  name: bundler
134
- requirement: &2157114660 !ruby/object:Gem::Requirement
115
+ requirement: &2154521820 !ruby/object:Gem::Requirement
135
116
  none: false
136
117
  requirements:
137
118
  - - ~>
138
119
  - !ruby/object:Gem::Version
139
120
  version: 1.0.0
140
- segments:
141
- - 1
142
- - 0
143
- - 0
144
- segments_generated: true
145
121
  type: :development
146
122
  prerelease: false
147
- version_requirements: *2157114660
123
+ version_requirements: *2154521820
148
124
  - !ruby/object:Gem::Dependency
149
125
  name: jeweler
150
- requirement: &2157113880 !ruby/object:Gem::Requirement
126
+ requirement: &2154521140 !ruby/object:Gem::Requirement
151
127
  none: false
152
128
  requirements:
153
129
  - - ~>
154
130
  - !ruby/object:Gem::Version
155
131
  version: 1.5.1
156
- segments:
157
- - 1
158
- - 5
159
- - 1
160
- segments_generated: true
161
132
  type: :development
162
133
  prerelease: false
163
- version_requirements: *2157113880
134
+ version_requirements: *2154521140
164
135
  - !ruby/object:Gem::Dependency
165
136
  name: sqlite3-ruby
166
- requirement: &2157113120 !ruby/object:Gem::Requirement
137
+ requirement: &2154520480 !ruby/object:Gem::Requirement
167
138
  none: false
168
139
  requirements:
169
140
  - - ~>
170
141
  - !ruby/object:Gem::Version
171
142
  version: 1.3.1
172
- segments:
173
- - 1
174
- - 3
175
- - 1
176
- segments_generated: true
177
143
  type: :development
178
144
  prerelease: false
179
- version_requirements: *2157113120
145
+ version_requirements: *2154520480
180
146
  - !ruby/object:Gem::Dependency
181
147
  name: paperclip
182
- requirement: &2157112360 !ruby/object:Gem::Requirement
148
+ requirement: &2154519780 !ruby/object:Gem::Requirement
183
149
  none: false
184
150
  requirements:
185
151
  - - ! '>='
186
152
  - !ruby/object:Gem::Version
187
153
  version: 2.3.5
188
- segments:
189
- - 2
190
- - 3
191
- - 5
192
- segments_generated: true
193
154
  type: :development
194
155
  prerelease: false
195
- version_requirements: *2157112360
156
+ version_requirements: *2154519780
196
157
  - !ruby/object:Gem::Dependency
197
158
  name: mechanize
198
- requirement: &2157111520 !ruby/object:Gem::Requirement
159
+ requirement: &2154499720 !ruby/object:Gem::Requirement
199
160
  none: false
200
161
  requirements:
201
162
  - - ! '>='
202
163
  - !ruby/object:Gem::Version
203
164
  version: 1.0.0
204
- segments:
205
- - 1
206
- - 0
207
- - 0
208
- segments_generated: true
209
165
  type: :development
210
166
  prerelease: false
211
- version_requirements: *2157111520
167
+ version_requirements: *2154499720
212
168
  - !ruby/object:Gem::Dependency
213
169
  name: google-search
214
- requirement: &2157110620 !ruby/object:Gem::Requirement
170
+ requirement: &2154499260 !ruby/object:Gem::Requirement
215
171
  none: false
216
172
  requirements:
217
173
  - - ! '>='
218
174
  - !ruby/object:Gem::Version
219
175
  version: 1.0.2
220
- segments:
221
- - 1
222
- - 0
223
- - 2
224
- segments_generated: true
225
176
  type: :development
226
177
  prerelease: false
227
- version_requirements: *2157110620
178
+ version_requirements: *2154499260
228
179
  description: SexItUp allows for the easy drop-in of public domain images for site
229
180
  mockups and user avatars.
230
181
  email: jjones@aantix.com
@@ -248,10 +199,9 @@ files:
248
199
  - spec/spec_helper.rb
249
200
  - LICENSE
250
201
  - README.rdoc
251
- has_rdoc: true
252
202
  homepage: http://github.com/aantix/sex_it_up
253
203
  licenses: []
254
- post_install_message: !!null
204
+ post_install_message:
255
205
  rdoc_options: []
256
206
  require_paths:
257
207
  - lib
@@ -261,23 +211,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
261
211
  - - ! '>='
262
212
  - !ruby/object:Gem::Version
263
213
  version: '0'
264
- segments:
265
- - 0
266
- segments_generated: true
267
- hash: 462333643386666179
268
214
  required_rubygems_version: !ruby/object:Gem::Requirement
269
215
  none: false
270
216
  requirements:
271
217
  - - ! '>='
272
218
  - !ruby/object:Gem::Version
273
219
  version: '0'
274
- segments:
275
- - 0
276
- segments_generated: true
277
220
  requirements: []
278
- rubyforge_project: !!null
279
- rubygems_version: 1.3.7
280
- signing_key: !!null
221
+ rubyforge_project:
222
+ rubygems_version: 1.8.11
223
+ signing_key:
281
224
  specification_version: 3
282
225
  summary: Replace your boring place-holder images with beautiful public domain images
283
226
  of history's greatest artwork and sculptures.