active_metadata 0.6.6 → 0.6.7

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -4,6 +4,8 @@ I task di rake vengono invocati via il namespace app.
4
4
  rake app:ci
5
5
 
6
6
  ## Issues
7
- * The install rake task is destructive. Needs to be refactored as a raila generator using Thor actions.
7
+ * The install rake task is destructive. Needs to be refactored as a rails generator using Thor actions.
8
8
  * The install task should automount the engine as /active_metadata
9
+ * Migrations should be available to the rails app that mount the engine and not copied.
10
+ * Move the test db creation into before suite rspec callback and remove the migration from the db folder
9
11
 
@@ -8,21 +8,21 @@ module ActiveMetadata::Persistence::Attachment
8
8
 
9
9
  def save_attachment_for(field, file, starred=false)
10
10
  attachment = ActiveMetadata::Attachment.create! :document_class => metadata_class, :document_id => metadata_id, :label => field, :attach => file,
11
- :starred => starred, :created_by => current_user_id
12
- reload_attachments_cache_for field
11
+ :starred => starred, :created_by => current_user_id
12
+ reload_attachments_cache_for field
13
13
  self.send(:send_notification, field, "", attachment.attach.original_filename, :attachment_message, current_user_id)
14
14
  end
15
15
 
16
16
  def attachments_for(field, order_by="updated_at DESC")
17
- # Rails.cache.fetch(attachments_cache_key(field), :expires_in => ActiveMetadata::CONFIG['cache_expires_in'].minutes) do
17
+ Rails.cache.fetch(attachments_cache_key(field), :expires_in => ActiveMetadata::CONFIG['cache_expires_in'].minutes) do
18
18
  fetch_attachments_for field, nil, order_by
19
- # end
19
+ end
20
20
  end
21
21
 
22
22
  def delete_attachment(id)
23
23
  a = ActiveMetadata::Attachment.find(id)
24
24
  filename = a.attach.original_filename
25
- a.destroy
25
+ a.destroy
26
26
  reload_attachments_cache_for a.label
27
27
  self.send(:send_notification, a.label, filename, "", :attachment_message)
28
28
  end
@@ -54,31 +54,31 @@ module ActiveMetadata::Persistence::Attachment
54
54
 
55
55
  # not cached
56
56
  def starred_attachments_for(field)
57
- fetch_attachments_for field,true
57
+ fetch_attachments_for field, true
58
58
  end
59
59
 
60
60
  def star_attachment(id)
61
61
  n = ActiveMetadata::Attachment.find(id)
62
- update_attachment id,n.attach,true
62
+ update_attachment id, n.attach, true
63
63
  end
64
64
 
65
65
  def unstar_attachment(id)
66
66
  n = ActiveMetadata::Attachment.find(id)
67
- update_attachment id,n.attach,false
67
+ update_attachment id, n.attach, false
68
68
  end
69
69
 
70
70
  private
71
-
71
+
72
72
  def reload_attachments_cache_for field
73
73
  #Rails.cache.clear
74
- Rails.cache.write(attachments_cache_key(field),fetch_attachments_for(field), :expires_in => ActiveMetadata::CONFIG['cache_expires_in'].minutes )
75
- end
76
-
74
+ Rails.cache.write(attachments_cache_key(field), fetch_attachments_for(field), :expires_in => ActiveMetadata::CONFIG['cache_expires_in'].minutes)
75
+ end
76
+
77
77
  def fetch_attachments_for(field, starred=nil, order_by="updated_at DESC")
78
- conditions = {:document_class => metadata_class, :document_id => metadata_id,:label => field}
78
+ conditions = {:document_class => metadata_class, :document_id => metadata_id, :label => field}
79
79
  conditions[:starred] = starred if !starred.nil?
80
- ActiveMetadata::Attachment.all(:conditions => conditions , :order => order_by)
81
- end
80
+ ActiveMetadata::Attachment.all(:conditions => conditions, :order => order_by)
81
+ end
82
82
 
83
83
  end
84
84
 
@@ -16,15 +16,15 @@ module ActiveMetadata::Persistence::History
16
16
  end
17
17
 
18
18
  def history_for field, order="created_at DESC"
19
- #Rails.cache.fetch(history_cache_key(field), :expires_in => ActiveMetadata::CONFIG['cache_expires_in'].minutes) do
19
+ Rails.cache.fetch(history_cache_key(field), :expires_in => ActiveMetadata::CONFIG['cache_expires_in'].minutes) do
20
20
  fetch_histories_for field, order
21
- #end
21
+ end
22
22
  end
23
23
 
24
24
  private
25
25
 
26
26
  def invalidate_history_cache_for field
27
- #Rails.cache.delete history_cache_key(field)
27
+ Rails.cache.delete history_cache_key(field)
28
28
  end
29
29
 
30
30
  def fetch_histories_for field, order
@@ -5,85 +5,85 @@ module ActiveMetadata::Persistence::Note
5
5
  end
6
6
 
7
7
  module InstanceMethods
8
-
8
+
9
9
  def create_note_for(field, note, starred=false)
10
- ActiveMetadata::Note.create! :document_id => metadata_id, :document_class => metadata_class, :label => field.to_s,:note => note, :created_by => current_user_id, :starred => starred
10
+ ActiveMetadata::Note.create! :document_id => metadata_id, :document_class => metadata_class, :label => field.to_s, :note => note, :created_by => current_user_id, :starred => starred
11
11
 
12
12
  reload_notes_cache_for field
13
- self.send(:send_notification, field, "", note, :note_message, current_user_id)
13
+ self.send(:send_notification, field, "", note, :note_message, current_user_id)
14
14
  end
15
15
 
16
16
  def update_note(id, note, starred=nil)
17
17
  n = ActiveMetadata::Note.find(id)
18
18
  old_value = n.note
19
- attributes = {:note => note, :updated_by => current_user_id, :updated_at => Time.now.utc}
19
+ attributes = {:note => note, :updated_by => current_user_id, :updated_at => Time.now.utc}
20
20
  #mass assign starred inly if provided
21
21
  unless starred.nil?
22
22
  attributes[:starred] = starred
23
23
  end
24
24
  n.update_attributes! attributes
25
- reload_notes_cache_for n.label
25
+ reload_notes_cache_for n.label
26
26
  self.send(:send_notification, n.label, old_value, note, :note_message, current_user_id)
27
27
  end
28
28
 
29
29
  def notes_for(field, order_by="updated_at DESC")
30
- # Rails.cache.fetch(notes_cache_key(field), :expires_in => ActiveMetadata::CONFIG['cache_expires_in'].minutes) do
30
+ Rails.cache.fetch(notes_cache_key(field), :expires_in => ActiveMetadata::CONFIG['cache_expires_in'].minutes) do
31
31
  fetch_notes_for field, nil, order_by
32
- # end
32
+ end
33
33
  end
34
34
 
35
35
  def find_note_by_id(id)
36
36
  ActiveMetadata::Note.find(id)
37
- end
38
-
39
- def create_notes_for(field,notes)
37
+ end
38
+
39
+ def create_notes_for(field, notes)
40
40
  notes.each { |note| create_note_for field, note }
41
41
  end
42
42
 
43
43
  def delete_note(id)
44
44
  note = ActiveMetadata::Note.find(id)
45
45
  old_value = note.note
46
- note.destroy
46
+ note.destroy
47
47
  reload_notes_cache_for note.label
48
48
  self.send(:send_notification, note.label, old_value, "", :note_message)
49
49
  end
50
-
51
- def has_notes_for field
50
+
51
+ def has_notes_for field
52
52
  notes_for(field).size == 0 ? false : true
53
53
  end
54
54
 
55
- def count_notes_for field
55
+ def count_notes_for field
56
56
  notes_for(field).size
57
57
  end
58
58
 
59
59
  # not cached
60
60
  def starred_notes_for(field)
61
- fetch_notes_for field,true
61
+ fetch_notes_for field, true
62
62
  end
63
63
 
64
64
  def star_note(id)
65
65
  n = ActiveMetadata::Note.find(id)
66
- update_note id,n.note,true
66
+ update_note id, n.note, true
67
67
  end
68
68
 
69
69
  def unstar_note(id)
70
70
  n = ActiveMetadata::Note.find(id)
71
- update_note id,n.note,false
71
+ update_note id, n.note, false
72
72
  end
73
73
 
74
74
  private
75
-
76
- def reload_notes_cache_for field
77
- Rails.cache.write(notes_cache_key(field),fetch_notes_for(field), :expires_in => ActiveMetadata::CONFIG['cache_expires_in'].minutes )
78
- end
79
-
75
+
76
+ def reload_notes_cache_for field
77
+ Rails.cache.write(notes_cache_key(field), fetch_notes_for(field), :expires_in => ActiveMetadata::CONFIG['cache_expires_in'].minutes)
78
+ end
79
+
80
80
  def fetch_notes_for(field, starred=nil, order_by="updated_at DESC")
81
81
  conditions = {:label => field, :document_class => metadata_class, :document_id => metadata_id}
82
82
  unless starred.nil?
83
83
  conditions[:starred] = starred
84
84
  end
85
85
  ActiveMetadata::Note.all(:conditions => conditions, :order => order_by)
86
- end
87
-
86
+ end
87
+
88
88
  end
89
89
  end
@@ -1,12 +1,12 @@
1
1
  module ActiveMetadata::Streamable
2
2
 
3
- def stream_for field
4
- sort_stream(collect_stream_data(field))
3
+ def stream_for(field, order_by = :created_at)
4
+ sort_stream(collect_stream_data(field), order_by)
5
5
  end
6
6
 
7
7
  private
8
- def sort_stream stream
9
- stream.sort{|a,b| b.updated_at <=> a.updated_at}
8
+ def sort_stream stream, order_by
9
+ stream.sort{ |a,b| b.send(order_by) <=> a.send(order_by) }
10
10
  end
11
11
 
12
12
  def collect_stream_data field
@@ -1,3 +1,3 @@
1
1
  module ActiveMetadata
2
- VERSION = "0.6.6"
2
+ VERSION = "0.6.7"
3
3
  end
Binary file
@@ -76,7 +76,7 @@ describe ActiveMetadata::Streamable do
76
76
  end
77
77
 
78
78
 
79
- it "should sort the stream data by updated_at DESC by default" do
79
+ it "should sort the stream by updated_at DESC" do
80
80
  @document.save_attachment_for(:surname,test_pdf("pdf_test_1"))
81
81
  sleep 2.seconds
82
82
  @document.create_note_for(:surname, "surname note")
@@ -84,13 +84,28 @@ describe ActiveMetadata::Streamable do
84
84
  @document.save_attachment_for(:surname,test_pdf("pdf_test_2"))
85
85
 
86
86
  stream = @document.send(:collect_stream_data, :surname)
87
- res = @document.send(:sort_stream, stream)
87
+ res = @document.send(:sort_stream, stream, :updated_at)
88
88
 
89
89
  res[0].attach_file_name.should eq 'pdf_test_2.pdf'
90
90
  res[1].note.should eq 'surname note'
91
91
  res[2].attach_file_name.should eq 'pdf_test_1.pdf'
92
92
  end
93
93
 
94
+ it "should sort the stream by updated_at DESC" do
95
+ @document.create_note_for(:surname, "surname note")
96
+ sleep 2.seconds
97
+ @document.save_attachment_for(:surname,test_pdf("pdf_test_2"))
98
+ sleep 2.seconds
99
+ @document.save_attachment_for(:surname,test_pdf("pdf_test_1"))
100
+
101
+ stream = @document.send(:collect_stream_data, :surname)
102
+ res = @document.send(:sort_stream, stream, :created_at)
103
+
104
+ res[0].attach_file_name.should eq 'pdf_test_1.pdf'
105
+ res[1].attach_file_name.should eq 'pdf_test_2.pdf'
106
+ res[2].note.should eq 'surname note'
107
+ end
108
+
94
109
  end
95
110
 
96
111
  describe "stream_for" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_metadata
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.6
4
+ version: 0.6.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,11 +10,11 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-02-27 00:00:00.000000000Z
13
+ date: 2012-03-23 00:00:00.000000000Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rails
17
- requirement: &2169860620 !ruby/object:Gem::Requirement
17
+ requirement: &70220537360720 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ~>
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: 3.2.0
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *2169860620
25
+ version_requirements: *70220537360720
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: sqlite3
28
- requirement: &2169860200 !ruby/object:Gem::Requirement
28
+ requirement: &70220537360160 !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: :development
35
35
  prerelease: false
36
- version_requirements: *2169860200
36
+ version_requirements: *70220537360160
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: rspec-rails
39
- requirement: &2169859740 !ruby/object:Gem::Requirement
39
+ requirement: &70220537359380 !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: :development
46
46
  prerelease: false
47
- version_requirements: *2169859740
47
+ version_requirements: *70220537359380
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: sqlite3
50
- requirement: &2169859320 !ruby/object:Gem::Requirement
50
+ requirement: &70220537358200 !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: :development
57
57
  prerelease: false
58
- version_requirements: *2169859320
58
+ version_requirements: *70220537358200
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: sqlite3-ruby
61
- requirement: &2169858900 !ruby/object:Gem::Requirement
61
+ requirement: &70220537357200 !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: *2169858900
69
+ version_requirements: *70220537357200
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: cucumber-rails
72
- requirement: &2169858480 !ruby/object:Gem::Requirement
72
+ requirement: &70220537356660 !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: *2169858480
80
+ version_requirements: *70220537356660
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: ci_reporter
83
- requirement: &2169858060 !ruby/object:Gem::Requirement
83
+ requirement: &70220537355860 !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: *2169858060
91
+ version_requirements: *70220537355860
92
92
  - !ruby/object:Gem::Dependency
93
93
  name: paperclip
94
- requirement: &2169857640 !ruby/object:Gem::Requirement
94
+ requirement: &70220537354840 !ruby/object:Gem::Requirement
95
95
  none: false
96
96
  requirements:
97
97
  - - ! '>='
@@ -99,7 +99,7 @@ dependencies:
99
99
  version: '0'
100
100
  type: :runtime
101
101
  prerelease: false
102
- version_requirements: *2169857640
102
+ version_requirements: *70220537354840
103
103
  description: First implementation will write metadata on mongodb
104
104
  email:
105
105
  - acampolonghi@gmail.com
@@ -139,10 +139,8 @@ files:
139
139
  - config/cucumber.yml
140
140
  - config/database.yml
141
141
  - config/routes.rb
142
- - db/development.sqlite3
143
142
  - db/migrate/01_create_test_resources.rb
144
143
  - db/migrate/02_active_metadata_migrations.rb
145
- - db/test.sqlite3
146
144
  - lib/active_metadata/base.rb
147
145
  - lib/active_metadata/engine.rb
148
146
  - lib/active_metadata/form_helper.rb
@@ -237,7 +235,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
237
235
  version: '0'
238
236
  segments:
239
237
  - 0
240
- hash: 4305454113259867413
238
+ hash: 4276269757751504892
241
239
  required_rubygems_version: !ruby/object:Gem::Requirement
242
240
  none: false
243
241
  requirements:
@@ -246,7 +244,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
246
244
  version: '0'
247
245
  segments:
248
246
  - 0
249
- hash: 4305454113259867413
247
+ hash: 4276269757751504892
250
248
  requirements: []
251
249
  rubyforge_project: active_metadata
252
250
  rubygems_version: 1.8.10
Binary file
data/db/test.sqlite3 DELETED
Binary file