can_has_state 0.4.1 → 0.6.1

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
- SHA1:
3
- metadata.gz: f184667378a0c0620b44d5d14cd31a4c44e1fde7
4
- data.tar.gz: db3b46381463581e04f3c78920258a7d9a1210eb
2
+ SHA256:
3
+ metadata.gz: a6e66c7c3ed10c791bcc1a6ae14a516110fb0aead7e03ce12b853c1b8dcad23a
4
+ data.tar.gz: 9d5de2d38d6555cd2bd5fc7d4f864d890bc39b7d3a888d1d9d2107f94c1b2bf2
5
5
  SHA512:
6
- metadata.gz: 35b55898ee69682615e8d413cf928b1cda086e6bfaf51c89323fc5a71ce17c9e1362263eb0dc57519c02eb24a6eedcaaf99afeaa156f8a933b4cf14f7a272983
7
- data.tar.gz: 579f3569d6c9c5fcff3bc181c0db73c65c40a7fdd76945798c53c3e0dd2d83036d8913611a8d2ff2c664b53255db4a9d33c5f0233645d18e78d7a8a209a73f76
6
+ metadata.gz: 6b78e36a9c7c4836220bcae8355dec5e20abeed6d74d012b223682a62401585aebfc61b32c06a538e836744614017b2e6c57cac4da6cc28d075d11769b0a8227
7
+ data.tar.gz: eec33534617b0fab9842be1dd4bf7522aa360614db490d310592465db6635ebc8b816369a82b834d212c6e474ac0415df1bbe7b6029890b3288bc0df6587045f
data/MIT-LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright 2012 thomas morgan
1
+ Copyright 2012-2021 thomas morgan
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -253,4 +253,4 @@ because the initial state value changed from nil to the initial state.
253
253
 
254
254
  ## Compatibility ##
255
255
 
256
- Tested with Ruby 2.3-2.4 and ActiveSupport and ActiveModel 4.2-5.1.
256
+ Tested with Ruby 2.3-2.6+ and ActiveSupport and ActiveModel 5.2-6.1+.
data/lib/can_has_state.rb CHANGED
@@ -5,4 +5,7 @@ require 'active_model'
5
5
  require "can_has_state/#{f}"
6
6
  end
7
7
 
8
+ # require 'active_support/i18n'
9
+ I18n.load_path << File.dirname(__FILE__) + '/can_has_state/locale/en.yml'
10
+
8
11
  require 'can_has_state/railtie' if defined?(Rails)
@@ -28,7 +28,7 @@ module CanHasState
28
28
 
29
29
  # TODO: turn even guards into types of triggers ... then support :guard as a trigger param
30
30
  guards = []
31
- message = "has invalid transition from %{from} to %{to}"
31
+ message = :invalid_transition
32
32
  # TODO: differentiate messages for :from errors vs. :guard errors
33
33
 
34
34
  options.each do |key, val|
@@ -0,0 +1,5 @@
1
+ en:
2
+ errors:
3
+ messages:
4
+ invalid_state: "is not in a known state"
5
+ invalid_transition: "has an invalid transition from %{from} to %{to}"
@@ -0,0 +1,5 @@
1
+ es:
2
+ errors:
3
+ messages:
4
+ invalid_state: "no está en un estado conocido"
5
+ invalid_transition: "tiene una transición no válida de %{from} a %{to}"
@@ -87,17 +87,17 @@ module CanHasState
87
87
  from, to = send("#{column}_was"), send(column)
88
88
  next if from == to
89
89
  if !sm.known?(to)
90
- err << [column, "is not in a known state"]
90
+ err << [column, :invalid_state]
91
91
  elsif !sm.allow?(self, to) #state_machine_allow?(column, to)
92
- err << [column, sm.message(to) % {:from=>from, :to=>to}]
92
+ err << [column, sm.message(to), {from: from, to: to}]
93
93
  end
94
94
  end
95
95
  err
96
96
  end
97
97
 
98
98
  def can_has_valid_state_machines
99
- can_has_state_errors.each do |(column, msg)|
100
- errors.add column, msg
99
+ can_has_state_errors.each do |(column, msg, opts)|
100
+ errors.add column, msg, **(opts||{})
101
101
  end
102
102
  end
103
103
 
@@ -1,3 +1,3 @@
1
1
  module CanHasState
2
- VERSION = '0.4.1'
2
+ VERSION = '0.6.1'
3
3
  end
@@ -24,8 +24,8 @@ class Account
24
24
 
25
25
  def fake_persist
26
26
  if valid?
27
- # just reset dirty tracking and pretend all is good
28
- changed_attributes.clear
27
+ # reset dirty tracking as if we had persisted
28
+ changes_applied
29
29
  true
30
30
  end
31
31
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: can_has_state
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - thomas morgan
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-06-02 00:00:00.000000000 Z
11
+ date: 2021-05-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -16,40 +16,20 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '4'
19
+ version: '5.2'
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '6'
22
+ version: '6.2'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: '4'
29
+ version: '5.2'
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '6'
33
- - !ruby/object:Gem::Dependency
34
- name: activesupport
35
- requirement: !ruby/object:Gem::Requirement
36
- requirements:
37
- - - ">="
38
- - !ruby/object:Gem::Version
39
- version: '4'
40
- - - "<"
41
- - !ruby/object:Gem::Version
42
- version: '6'
43
- type: :runtime
44
- prerelease: false
45
- version_requirements: !ruby/object:Gem::Requirement
46
- requirements:
47
- - - ">="
48
- - !ruby/object:Gem::Version
49
- version: '4'
50
- - - "<"
51
- - !ruby/object:Gem::Version
52
- version: '6'
32
+ version: '6.2'
53
33
  - !ruby/object:Gem::Dependency
54
34
  name: minitest
55
35
  requirement: !ruby/object:Gem::Requirement
@@ -93,6 +73,8 @@ files:
93
73
  - lib/can_has_state.rb
94
74
  - lib/can_has_state/definition.rb
95
75
  - lib/can_has_state/dirty_helper.rb
76
+ - lib/can_has_state/locale/en.yml
77
+ - lib/can_has_state/locale/es.yml
96
78
  - lib/can_has_state/machine.rb
97
79
  - lib/can_has_state/railtie.rb
98
80
  - lib/can_has_state/version.rb
@@ -100,9 +82,10 @@ files:
100
82
  - test/can_has_state_test.rb
101
83
  - test/test_helper.rb
102
84
  homepage: https://github.com/zarqman/can_has_state
103
- licenses: []
85
+ licenses:
86
+ - MIT
104
87
  metadata: {}
105
- post_install_message:
88
+ post_install_message:
106
89
  rdoc_options: []
107
90
  require_paths:
108
91
  - lib
@@ -117,9 +100,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
117
100
  - !ruby/object:Gem::Version
118
101
  version: '0'
119
102
  requirements: []
120
- rubyforge_project:
121
- rubygems_version: 2.6.12
122
- signing_key:
103
+ rubygems_version: 3.2.15
104
+ signing_key:
123
105
  specification_version: 4
124
106
  summary: Super simple state machine for ActiveModel
125
107
  test_files: