simple_activity 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
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