elasticsearch-rails 0.1.0 → 0.1.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.
@@ -0,0 +1,56 @@
1
+ require 'zlib'
2
+ require 'yaml'
3
+
4
+ Zlib::GzipReader.open(File.expand_path('../articles.yml.gz', __FILE__)) do |gzip|
5
+ puts "Reading articles from gzipped YAML..."
6
+ @documents = YAML.load_documents(gzip.read)
7
+ end
8
+
9
+ # Truncate the default ActiveRecord logger output
10
+ ActiveRecord::Base.logger = ActiveSupport::Logger.new(STDERR)
11
+ ActiveRecord::Base.logger.instance_eval do
12
+ @formatter = lambda do |s, d, p, message|
13
+ message
14
+ .gsub(/\[("content", ".*?")\]/m) { |match| match[0..100] + '..."]' }
15
+ .gsub(/\[("body", ".*?")\]/m ) { |match| match[0..100] + '..."]' }
16
+ .strip
17
+ .concat("\n")
18
+ end
19
+ end
20
+
21
+ # Reduce verbosity and truncate the request body of Elasticsearch logger
22
+ Article.__elasticsearch__.client.transport.tracer.level = Logger::INFO
23
+ Article.__elasticsearch__.client.transport.tracer.formatter = lambda do |s, d, p, message|
24
+ "\n\n" + (message.size > 105 ? message[0..105].concat("...}'") : message) + "\n\n"
25
+ end
26
+
27
+ # Skip model callbacks
28
+ %w| _touch_callbacks
29
+ _commit_callbacks
30
+ after_add_for_categories
31
+ after_add_for_authorships
32
+ after_add_for_authors
33
+ after_add_for_comments |.each do |c|
34
+ Article.class.__send__ :define_method, c do; []; end
35
+ end
36
+
37
+ @documents.each do |document|
38
+ article = Article.create! document.slice(:title, :abstract, :content, :url, :shares, :published_on)
39
+
40
+ article.categories = document[:categories].map do |d|
41
+ Category.find_or_create_by! title: d
42
+ end
43
+
44
+ article.authors = document[:authors].map do |d|
45
+ first_name, last_name = d.split(' ').compact.map(&:strip)
46
+ Author.find_or_create_by! first_name: first_name, last_name: last_name
47
+ end
48
+
49
+ document[:comments].each { |d| article.comments.create! d }
50
+
51
+ article.save!
52
+ end
53
+
54
+ # Remove any jobs from the "elasticsearch" Sidekiq queue
55
+ #
56
+ Sidekiq::Queue.new("elasticsearch").clear
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: elasticsearch-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
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: 2014-03-03 00:00:00.000000000 Z
12
+ date: 2014-04-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -107,6 +107,22 @@ dependencies:
107
107
  - - ! '>='
108
108
  - !ruby/object:Gem::Version
109
109
  version: '0'
110
+ - !ruby/object:Gem::Dependency
111
+ name: minitest
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ~>
116
+ - !ruby/object:Gem::Version
117
+ version: '4.0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ~>
124
+ - !ruby/object:Gem::Version
125
+ version: '4.0'
110
126
  - !ruby/object:Gem::Dependency
111
127
  name: shoulda-context
112
128
  requirement: !ruby/object:Gem::Requirement
@@ -277,6 +293,7 @@ extra_rdoc_files:
277
293
  - LICENSE.txt
278
294
  files:
279
295
  - .gitignore
296
+ - CHANGELOG.md
280
297
  - Gemfile
281
298
  - LICENSE.txt
282
299
  - README.md
@@ -294,6 +311,12 @@ files:
294
311
  - lib/rails/templates/01-basic.rb
295
312
  - lib/rails/templates/02-pretty.rb
296
313
  - lib/rails/templates/03-expert.rb
314
+ - lib/rails/templates/articles.yml.gz
315
+ - lib/rails/templates/index.html.erb
316
+ - lib/rails/templates/indexer.rb
317
+ - lib/rails/templates/search.css
318
+ - lib/rails/templates/searchable.rb
319
+ - lib/rails/templates/seeds.rb
297
320
  - test/test_helper.rb
298
321
  - test/unit/instrumentation/instrumentation_test.rb
299
322
  - test/unit/instrumentation/lograge_test.rb