tire_async_index 0.0.3 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,15 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: e4081d651b185b14d81c3b64215259f417f389ff
4
- data.tar.gz: 68903a28cc33e94f6c4295efeaa9e014cc4582e2
5
- SHA512:
6
- metadata.gz: 35ffbb447e495545dce03f6208df65a6419c7008ea2253df63aaaabce852fa9896b2362317b86c492fba44b000cf71c56785e585c3af23c6045f5996ef6bc406
7
- data.tar.gz: d1ad3588b6584adbd491c5a5f254a55aa7bc94910c55bd40e3afba0ebec7f3ff9c6c8ff2b72e59b2796e59dfb3b440c04d27edcfe01d707c2024f9112e25f42e
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ Zjg2NTkzM2I5ZGE4MDE1YmRiYjY5NzhjOGU0NWFlMzZmNTI0OTcyZA==
5
+ data.tar.gz: !binary |-
6
+ NzBmOTM3YTgwZWUxYmI3NTVkMzM5YjFiMWYyNmRhMWQ2NGE1NjhlOQ==
7
+ !binary "U0hBNTEy":
8
+ metadata.gz: !binary |-
9
+ MzEzZjc5YWFjY2NlZjBiMjE3NmI1YjcwMzRjMDExYTJlOTMzYjNjMjg3NWEz
10
+ NGJmNTc4MzNhMGQ5ZWNhNWE2N2E1ZWRiZjA4MjMxMjA5NDBjYWMwN2QxYWQ4
11
+ ODg0NWVkYTNmZGFhMGQzMmQ2MDM5Y2ZiZTk2MjVjMDQ1MWUxN2M=
12
+ data.tar.gz: !binary |-
13
+ ODgwZjgyNmYwMWNkYjY0ZGNiYWVhYzYxYzllYzc4Yjk1YmJmODc1N2UzMjZj
14
+ NGJjNTUyZDgyODc4ODZiODY2NWUyY2QzMTk5ZDk0MDM2NjU1ZmJlNWZhMzU1
15
+ NGQ3NWViOTFiOTU3M2FmMGQ4OTViOTc3MzIxNjBiYTNiODU0YmM=
data/.travis.yml CHANGED
@@ -1,10 +1,8 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 1.8.7
4
3
  - 1.9.2
5
4
  - 1.9.3
6
5
  - 2.0.0
7
- - jruby-18mode
8
6
  - jruby-19mode
9
7
  gemfile:
10
8
  - Gemfile
data/README.md CHANGED
@@ -1,7 +1,11 @@
1
1
  # TireAsyncIndex
2
2
 
3
+ [![Build Status](https://secure.travis-ci.org/EvilFaeton/tire_async_index.png)](http://travis-ci.org/EvilFaeton/tire_async_index)
4
+
3
5
  It's extension for [Tire](https://github.com/karmi/tire/) (client for the Elasticsearch search engine), which allow to update index of ActiveRecord model using background job (based on [Sidekiq](https://github.com/mperham/sidekiq) or [Resque](https://github.com/resque/resque)).
4
6
 
7
+ Requirements: Ruby 1.9, 2.0, Rails => 3.0
8
+
5
9
  ## Installation
6
10
 
7
11
  Add this line to your application's Gemfile after `tire` and `sidekiq` or `resque` gems:
data/Rakefile CHANGED
@@ -2,7 +2,7 @@ require "bundler/gem_tasks"
2
2
  require "rake/testtask"
3
3
 
4
4
  desc 'Default: run specs'
5
- task :default => :spec
5
+ task default: :spec
6
6
 
7
7
  require 'rspec/core/rake_task'
8
8
  RSpec::Core::RakeTask.new do |t|
@@ -2,8 +2,8 @@ module Tire
2
2
  module Model
3
3
  module AsyncCallbacks
4
4
  def self.included(base)
5
- if base.respond_to?(:after_save) && base.respond_to?(:after_destroy)
6
- base.send :after_save, lambda {
5
+ if base.respond_to?(:after_commit)
6
+ index_update = lambda {
7
7
  case TireAsyncIndex.engine
8
8
  when :sidekiq
9
9
  SidekiqUpdateIndexWorker.perform_async(base.name, id)
@@ -12,9 +12,13 @@ module Tire
12
12
  else
13
13
  tire.update_index
14
14
  end
15
- self
15
+
16
+ self
16
17
  }
17
- base.send :after_destroy, lambda { tire.update_index }, :order => :first
18
+
19
+ base.send :after_commit, index_update, on: :create
20
+ base.send :after_commit, index_update, on: :update
21
+ base.send :after_commit, lambda { tire.update_index }, order: :first, on: :destroy
18
22
  end
19
23
 
20
24
  if base.respond_to?(:before_destroy) && !base.instance_methods.map(&:to_sym).include?(:destroyed?)
@@ -29,4 +33,4 @@ module Tire
29
33
  end
30
34
 
31
35
  end
32
- end
36
+ end
@@ -1,3 +1,3 @@
1
1
  module TireAsyncIndex
2
- VERSION = "0.0.3"
2
+ VERSION = "0.1.0"
3
3
  end
data/spec/test_helper.rb CHANGED
@@ -7,12 +7,12 @@ require 'nulldb_rspec'
7
7
  require 'nulldb/rails'
8
8
  #include NullDB::RSpec::NullifiedDatabase
9
9
  NullDB.configure {|ndb| ndb.project_root = 'spec'}
10
- ActiveRecord::Base.establish_connection :adapter => :nulldb,
11
- :schema => 'test_schema.rb'
10
+ ActiveRecord::Base.establish_connection adapter: :nulldb,
11
+ schema: 'test_schema.rb'
12
12
 
13
13
  RSpec.configure do |config|
14
14
  config.mock_with :rspec
15
15
  config.treat_symbols_as_metadata_keys_with_true_values = true
16
- config.filter_run :focus => true
16
+ config.filter_run focus: true
17
17
  config.run_all_when_everything_filtered = true
18
18
  end
data/spec/test_schema.rb CHANGED
@@ -1,5 +1,5 @@
1
- ActiveRecord::Schema.define(:version => 20130315203352) do
2
- create_table "users", :force => true do |t|
1
+ ActiveRecord::Schema.define(version: 20130315203352) do
2
+ create_table "users", force: true do |t|
3
3
  t.datetime "created_at"
4
4
  t.datetime "updated_at"
5
5
  t.string "name"
metadata CHANGED
@@ -1,27 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tire_async_index
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sergey Efremov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-03-30 00:00:00.000000000 Z
11
+ date: 2013-04-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: tire
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ! '>='
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ! '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
@@ -42,14 +42,14 @@ dependencies:
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ! '>='
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ! '>='
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
@@ -70,56 +70,56 @@ dependencies:
70
70
  name: activerecord-nulldb-adapter
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ! '>='
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ! '>='
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: sidekiq
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - '>='
87
+ - - ! '>='
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - '>='
94
+ - - ! '>='
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: resque
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - '>='
101
+ - - ! '>='
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - '>='
108
+ - - ! '>='
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: rspec
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - '>='
115
+ - - ! '>='
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - '>='
122
+ - - ! '>='
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  description: Update tire (elasticsearch) index async with Sidekiq or Resque
@@ -157,17 +157,17 @@ require_paths:
157
157
  - lib
158
158
  required_ruby_version: !ruby/object:Gem::Requirement
159
159
  requirements:
160
- - - '>='
160
+ - - ! '>='
161
161
  - !ruby/object:Gem::Version
162
162
  version: '0'
163
163
  required_rubygems_version: !ruby/object:Gem::Requirement
164
164
  requirements:
165
- - - '>='
165
+ - - ! '>='
166
166
  - !ruby/object:Gem::Version
167
167
  version: '0'
168
168
  requirements: []
169
169
  rubyforge_project:
170
- rubygems_version: 2.0.1
170
+ rubygems_version: 2.0.3
171
171
  signing_key:
172
172
  specification_version: 4
173
173
  summary: Update tire (elasticsearch) index async with Sidekiq or Resque