active_spy 1.3.8 → 1.3.9

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: 175b2633f946d4be05ff26032bb63ce4a9a6a251
4
- data.tar.gz: 541b822cf2559a57dee0624d27b6110b3c951dbe
3
+ metadata.gz: 958e1adca6d2520d73bdbb3f5fd9533f9ac207a0
4
+ data.tar.gz: 5af7b7c09aaf6cdf2a741bcf6b07eb4953bf39a8
5
5
  SHA512:
6
- metadata.gz: 1c853ef9af0b3f95caf6da74223fab48d906dd17ad6869da34046961d1ec7ebaba3b987e2a4cd3edb0c8c78bb50a0f0c615137f19d8290c34309611cbf9062fc
7
- data.tar.gz: 1125f1630060496f43fb6ca53afd1d9a9aaba281c88a1d9aee92b88ca1a4b68467a04310d407f033cb5f980199c334b84166bcecaf7a1bd2bbaf6e1cf568a518
6
+ metadata.gz: 638d8b4b04fb4988cdfd4746a1858ad58c2c2a1956a244d3f5f8c9eae167c46d935edf3b11ed206a87c93314595d3526d1b0767d6ca377fcc396228459472c71
7
+ data.tar.gz: 47bc762bb0b25b0c1d295cc4d3f722a3f7ac2df3ae88a0c574d16efdb06e23563a14e8ed7d4a5ad3e32a8a21f293680223fecf13a31c4b089ddd470ef80b61b4
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.3.8
1
+ 1.3.9
data/active_spy.gemspec CHANGED
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: active_spy 1.3.8 ruby lib
5
+ # stub: active_spy 1.3.9 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "active_spy"
9
- s.version = "1.3.8"
9
+ s.version = "1.3.9"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
13
13
  s.authors = ["Douglas Camata"]
14
- s.date = "2014-09-30"
14
+ s.date = "2014-10-20"
15
15
  s.description = " Watch for a method call in any class and run before/after callbacks.\n You can even watch your Rails models for events (like create, update,\n destroy), send these events to a event-runner instance and it redirect these\n events to other apps that are subscrived for them. This gem also provides\n classes that you can use to process the received events too.\n"
16
16
  s.email = "d.camata@gmail.com"
17
17
  s.extra_rdoc_files = [
@@ -35,7 +35,7 @@ module ActiveSpy
35
35
  def handle_model_result(hook, result, params)
36
36
  if result.errors.present?
37
37
  ::Rails.logger.warn("[EVENT][#{hook['post_class']}] Error receiving event #{params}")
38
- ::Rails.logger.warn("[EVENT][#{hook['post_class']}] Result errors: #{result.errors}")
38
+ ::Rails.logger.warn("[EVENT][#{hook['post_class']}] Result errors: #{result.errors.full_messages}")
39
39
  render json: result.errors, status: :unprocessable_entity
40
40
  else
41
41
  render nothing: true
@@ -47,7 +47,7 @@ module ActiveSpy
47
47
  if model_with_errors.any?
48
48
  ::Rails.logger.warn("[EVENT][#{hook['post_class']}] Error receiving event #{params}")
49
49
  model_with_errors.each do |model|
50
- ::Rails.logger.warn("[EVENT][#{hook['post_class']}] #{model} errors: #{model.errors}")
50
+ ::Rails.logger.warn("[EVENT][#{hook['post_class']}] #{model} errors: #{model.errors.full_messages}")
51
51
  end
52
52
  render nothing: true, status: :internal_server_error
53
53
  else
@@ -37,30 +37,47 @@ module ActiveSpy
37
37
  end
38
38
  end
39
39
 
40
- # Overriding to always send the object to the server, even though the
41
- # after callback is not explicitly defined.
40
+ # Handles the generic +save+. Determines which rail action was done,
41
+ # +create+ or +update+ and call the right callback.
42
42
  #
43
- def method_missing(method, *_args, &_block)
44
- request_params = get_request_params(method)
45
- @event_json = { event: request_params }.to_json
46
- ActiveSpy::Rails::Validation::Event.new(@event_json).validate! unless ActiveSpy::Configuration.skip_validations
47
- after_callback = "after_#{request_params[:action]}"
48
- send(after_callback) if respond_to? after_callback
49
- remove_is_new_method(@object)
43
+ def after_save
44
+ action = get_action('save')
45
+ send("after_#{action}")
50
46
  end
51
47
 
48
+ # Handles a +create+ callback, prepare and send the request to the event-runner.
49
+ #
52
50
  def after_create
51
+ request_params = get_request_params('create')
52
+ prepare_request(request_params)
53
53
  send_event_request unless ActiveSpy::Configuration.development_mode
54
54
  end
55
55
 
56
+ # Handles an +update+ callback, prepare and send the request to the event-runner.
57
+ #
56
58
  def after_update
59
+ request_params = get_request_params('update')
60
+ prepare_request(request_params)
57
61
  send_event_request unless ActiveSpy::Configuration.development_mode
58
62
  end
59
63
 
64
+ # Handles an +destroy+ callback, prepare and send the request to the event-runner.
65
+ #
60
66
  def after_destroy
67
+ request_params = get_request_params('destroy')
68
+ prepare_request(request_params)
61
69
  send_event_request unless ActiveSpy::Configuration.development_mode
62
70
  end
63
71
 
72
+ # Prepare a request with +request_params+, validates the request and
73
+ # remove the injected +is_mew_method+, because it's not needed anymore.
74
+ #
75
+ def prepare_request(request_params)
76
+ @event_json = { event: request_params }.to_json
77
+ ActiveSpy::Rails::Validation::Event.new(@event_json).validate! unless ActiveSpy::Configuration.skip_validations
78
+ remove_is_new_method(@object)
79
+ end
80
+
64
81
  # Sends the event request to the configured event-runner instance.
65
82
  #
66
83
  def send_event_request
@@ -81,9 +98,9 @@ module ActiveSpy
81
98
 
82
99
  # Get the event request params for a given +method+.
83
100
  #
84
- def get_request_params(method)
85
- real_method = method.to_s.split('_').last
86
- action = get_action(real_method)
101
+ def get_request_params(action)
102
+ # real_method = method.to_s.split('_').last
103
+ # action = get_action(real_method)
87
104
  {
88
105
  type: @object.class.name,
89
106
  actor: @object.instance_variable_get('@actor'),
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_spy
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.8
4
+ version: 1.3.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Douglas Camata
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-30 00:00:00.000000000 Z
11
+ date: 2014-10-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport