pose 0.2 → 0.2.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/README.markdown +4 -0
- data/lib/pose/version.rb +1 -1
- data/lib/pose_assignment.rb +3 -2
- data/lib/pose_word.rb +3 -5
- data/lib/tasks/pose_tasks.rake +21 -6
- metadata +19 -19
data/README.markdown
CHANGED
data/lib/pose/version.rb
CHANGED
data/lib/pose_assignment.rb
CHANGED
@@ -4,13 +4,14 @@ class PoseAssignment < ActiveRecord::Base
|
|
4
4
|
belongs_to :posable, :polymorphic => true
|
5
5
|
|
6
6
|
# Removes all PoseAssignments for the given class.
|
7
|
-
def self.
|
7
|
+
def self.delete_class_index clazz
|
8
8
|
PoseAssignment.delete_all(['posable_type=?', clazz.name])
|
9
9
|
end
|
10
10
|
|
11
11
|
# Removes all PoseAssignments that aren't used anymore.
|
12
|
-
def self.cleanup_orphaned_pose_assignments
|
12
|
+
def self.cleanup_orphaned_pose_assignments progress_bar = nil
|
13
13
|
PoseAssignment.find_each(:include => [:posable, :pose_word], :batch_size => 5000) do |assignment|
|
14
|
+
progress_bar.inc if progress_bar
|
14
15
|
|
15
16
|
# Delete the assignment if the posable object no longer exists.
|
16
17
|
if assignment.posable.nil?
|
data/lib/pose_word.rb
CHANGED
@@ -2,12 +2,10 @@
|
|
2
2
|
class PoseWord < ActiveRecord::Base
|
3
3
|
has_many :pose_assignments
|
4
4
|
|
5
|
-
def self.remove_unused_words
|
5
|
+
def self.remove_unused_words progress_bar = nil
|
6
6
|
PoseWord.find_each(:include => [:pose_assignments], :batch_size => 5000) do |pose_word|
|
7
|
-
if pose_word.pose_assignments.size == 0
|
8
|
-
|
9
|
-
next
|
10
|
-
end
|
7
|
+
pose_word.delete if pose_word.pose_assignments.size == 0
|
8
|
+
progress_bar.inc if progress_bar
|
11
9
|
end
|
12
10
|
end
|
13
11
|
end
|
data/lib/tasks/pose_tasks.rake
CHANGED
@@ -1,6 +1,27 @@
|
|
1
1
|
include Rake::DSL
|
2
2
|
namespace :pose do
|
3
3
|
|
4
|
+
desc "Cleans out unused data from the search index."
|
5
|
+
task :cleanup_index => :environment do |t, args|
|
6
|
+
puts "Cleaning Pose search index ...\n\n"
|
7
|
+
progress_bar = ProgressBar.new ' assignments', PoseAssignment.count
|
8
|
+
PoseAssignment.cleanup_orphaned_pose_assignments progress_bar
|
9
|
+
progress_bar.finish
|
10
|
+
|
11
|
+
progress_bar = ProgressBar.new ' words', PoseWord.count
|
12
|
+
PoseWord.remove_unused_words progress_bar
|
13
|
+
progress_bar.finish
|
14
|
+
|
15
|
+
puts "\nPose search index cleanup complete.\n\n"
|
16
|
+
end
|
17
|
+
|
18
|
+
desc "Removes the search index for all instances of the given classes."
|
19
|
+
task :delete_index, [:class_name] => :environment do |t, args|
|
20
|
+
clazz = Kernel.const_get args.class_name
|
21
|
+
PoseAssignment.cleanup_class_index clazz
|
22
|
+
puts "Search index for class #{clazz.name} deleted.\n\n"
|
23
|
+
end
|
24
|
+
|
4
25
|
desc "Deletes and recreates the search index for all instances of the given class."
|
5
26
|
task :reindex_all, [:class_name] => [:environment] do |t, args|
|
6
27
|
clazz = Kernel.const_get args.class_name
|
@@ -12,10 +33,4 @@ namespace :pose do
|
|
12
33
|
progress_bar.finish
|
13
34
|
end
|
14
35
|
|
15
|
-
desc "Removes the search index for all instances of the given classes."
|
16
|
-
task :remove_from_index, [:class_name] => :environment do |t, args|
|
17
|
-
clazz = Kernel.const_get args.class_name
|
18
|
-
PoseAssignment.cleanup_class_index clazz
|
19
|
-
puts "Search index for class #{clazz.name} deleted.\n\n"
|
20
|
-
end
|
21
36
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pose
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 0.2.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-01-16 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
16
|
-
requirement: &
|
16
|
+
requirement: &70112891755440 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 3.0.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70112891755440
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: meta_where
|
27
|
-
requirement: &
|
27
|
+
requirement: &70112891751560 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70112891751560
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rake
|
38
|
-
requirement: &
|
38
|
+
requirement: &70112891747180 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70112891747180
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: ruby-progressbar
|
49
|
-
requirement: &
|
49
|
+
requirement: &70112891743860 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70112891743860
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: factory_girl
|
60
|
-
requirement: &
|
60
|
+
requirement: &70112891738440 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70112891738440
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: faker
|
71
|
-
requirement: &
|
71
|
+
requirement: &70112891722760 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70112891722760
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: hashie
|
82
|
-
requirement: &
|
82
|
+
requirement: &70112891711480 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: '0'
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *70112891711480
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: rspec
|
93
|
-
requirement: &
|
93
|
+
requirement: &70112891703760 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ! '>='
|
@@ -98,10 +98,10 @@ dependencies:
|
|
98
98
|
version: '0'
|
99
99
|
type: :development
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *70112891703760
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
103
|
name: sqlite3
|
104
|
-
requirement: &
|
104
|
+
requirement: &70112891696280 !ruby/object:Gem::Requirement
|
105
105
|
none: false
|
106
106
|
requirements:
|
107
107
|
- - ! '>='
|
@@ -109,7 +109,7 @@ dependencies:
|
|
109
109
|
version: '0'
|
110
110
|
type: :development
|
111
111
|
prerelease: false
|
112
|
-
version_requirements: *
|
112
|
+
version_requirements: *70112891696280
|
113
113
|
description: Pose ('Polymorphic Search') allows fulltext search for ActiveRecord objects.
|
114
114
|
email:
|
115
115
|
- kevin.goslar@gmail.com
|