simple_activity 0.1.1 → 0.1.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9d868ca86145e7defedd43fbda7cf7a9ef9119c4
4
- data.tar.gz: fe60f2894728a517af4f2348e815ee366a93d60e
3
+ metadata.gz: 180fa617f740b557184e821d5f7be95cc93a2471
4
+ data.tar.gz: e9693c06504e6f52260cbc699806b0846bce1595
5
5
  SHA512:
6
- metadata.gz: 83459aca9b69474c188714a199c442839f58194d44a7bdbbad47f389114cd6f739471317629c143159af1586a0a91fe73b3f078fd12a62002adccb716caa61d5
7
- data.tar.gz: e1f9846693efb02da8aca434c95050fd09db96937fe3a1e02892fd426d62099e5fdd0e27703da7bea71328897d2fcb49a7d7201ead59125762cfaffa9fb65394
6
+ metadata.gz: c293ba718b25df4dac0efda86226b43686b35081f695ed81a80e22e1c9f801090744af3af3478e8465c1839b8439fd065a9a5dfff1a1b7b734b57b67e6cffca1
7
+ data.tar.gz: fa90176538bff05ddef77bef3dca0f9f468e770ff3b6b732b7388a11cbf13b767c3e771305b90a2296558bffa64ea42a7c4404a9b9737caa1f9c72e990ec35ec
data/README.md CHANGED
@@ -3,6 +3,10 @@
3
3
  SimpleActivity is a gem to record, display and reuse users activities for
4
4
  Rails app, in a fast, flexible and extendable way.
5
5
 
6
+ ## Demo
7
+
8
+ [Demo site](http://intense-crag-2356.herokuapp.com/) and [source](https://github.com/billychan/simple_activity_demo402)
9
+
6
10
  ## Features
7
11
  * **Fast** - SimpleActivity is built with speed in mind. Normally activities involve
8
12
  several models and hard to eager load. SimpleActivity allows you define cache
data/Rakefile CHANGED
@@ -16,23 +16,25 @@ RDoc::Task.new(:rdoc) do |rdoc|
16
16
  rdoc.rdoc_dir = 'rdoc'
17
17
  rdoc.title = 'SimpleActivity'
18
18
  rdoc.options << '--line-numbers'
19
- rdoc.rdoc_files.include('README.rdoc')
19
+ rdoc.rdoc_files.include('README.md')
20
20
  rdoc.rdoc_files.include('lib/**/*.rb')
21
21
  end
22
22
 
23
-
24
-
25
-
26
23
  Bundler::GemHelper.install_tasks
27
24
 
28
- require 'rake/testtask'
29
-
30
- Rake::TestTask.new(:test) do |t|
31
- t.libs << 'lib'
32
- t.libs << 'test'
33
- t.pattern = 'test/**/*_test.rb'
34
- t.verbose = false
25
+ require 'rspec/core/rake_task'
26
+
27
+ task :default => 'spec:all'
28
+
29
+ namespace :spec do
30
+ desc "Run all specs"
31
+ task :all do
32
+ unless File.exists?('spec/dummy/db/test.sqlite3')
33
+ Dir.chdir('spec/dummy') do
34
+ sh 'rake db:migrate'
35
+ sh 'rake db:test:prepare'
36
+ end
37
+ end
38
+ sh 'bundle exec rspec'
39
+ end
35
40
  end
36
-
37
-
38
- task :default => :test
@@ -10,6 +10,8 @@ module SimpleActivity
10
10
 
11
11
  serialize :cache
12
12
 
13
+ default_scope order('created_at DESC')
14
+
13
15
  # Show activities belongs to an actor
14
16
  def self.actor_activities(obj)
15
17
  type = obj.class.to_s
@@ -65,6 +67,14 @@ module SimpleActivity
65
67
  display
66
68
  end
67
69
 
70
+ # Get rules for an activity instance.
71
+ # This can't replace similar method in Processor
72
+ #
73
+ # @param set [String] The specific rule set want to get
74
+ def rules(set=nil)
75
+ @rules ||= Rule.get_rules(self.target_type, set)
76
+ end
77
+
68
78
  private
69
79
 
70
80
  def self.cache_methods
@@ -7,12 +7,13 @@ module SimpleActivity
7
7
  #
8
8
  # @param target [String] model class name as string. e.g. "Article"
9
9
  #
10
- # @param type [String] the rule type, default as "cache". or
11
- # other types defined by third parties
10
+ # @param rules_set [String] the specific set to get. Default nil
11
+ # - get all rules.
12
12
  #
13
13
  # @return set of rule when matched. Returns nil when unmatching
14
- def self.get_rules_set(target, type='_cache')
15
- all_rules.try(:[], target).try(:[], type)
14
+ def self.get_rules(target_type, rules_set=nil)
15
+ rules = all_rules.try(:[], target_type)
16
+ rules_set ? rules.try(:[], rules_set) : rules
16
17
  end
17
18
 
18
19
  private
@@ -53,7 +53,7 @@ module SimpleActivity
53
53
  def save
54
54
  if validate_attrs
55
55
  Activity.create(activity_attrs).tap do |activity|
56
- Callbacks.run_callbacks(activity)
56
+ Callbacks.run(activity)
57
57
  end
58
58
  else
59
59
  warning
@@ -111,7 +111,7 @@ module SimpleActivity
111
111
  end
112
112
 
113
113
  def cache_methods
114
- @cache_methods ||= Rule.get_rules_set(@target_type)
114
+ @cache_methods ||= Rule.get_rules(@target_type, '_cache')
115
115
  end
116
116
 
117
117
  end
@@ -19,12 +19,12 @@ module SimpleActivity
19
19
  class Callbacks
20
20
  @@callbacks = []
21
21
 
22
- def self.add_callback(name, options={})
22
+ def self.add(name, options={})
23
23
  name = name.to_string unless name.kind_of?(String)
24
24
  @@callbacks << {name: name}.merge!(options)
25
25
  end
26
26
 
27
- def self.run_callbacks(activity)
27
+ def self.run(activity)
28
28
  @@callbacks.each do |callback|
29
29
  const = Object.const_get callback[:name]
30
30
  if callback[:backend]
@@ -35,7 +35,7 @@ module SimpleActivity
35
35
  end
36
36
  end
37
37
 
38
- def self.delete_callback(name)
38
+ def self.delete(name)
39
39
  @@callbacks.delete_if do |callback|
40
40
  callback[:name] == name
41
41
  end
@@ -1,3 +1,3 @@
1
1
  module SimpleActivity
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simple_activity
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Billy Chan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-09 00:00:00.000000000 Z
11
+ date: 2014-01-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails