tengine_core 0.5.39 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (127) hide show
  1. data/Gemfile +1 -37
  2. data/Gemfile.lock +59 -61
  3. data/README.md +8 -6
  4. data/bin/create_indexes_for_tengine_core +18 -0
  5. data/bin/tengined +3 -3
  6. data/examples/list.txt +36 -0
  7. data/examples/uc08_if_both_a_and_b_occurs.rb +7 -1
  8. data/examples/uc20_fire_with_properties.rb +19 -0
  9. data/examples/uc21_fire_with_same_key.rb +23 -0
  10. data/examples/uc22_fire_with_source_name.rb +17 -0
  11. data/examples/uc23_fire_with_level.rb +19 -0
  12. data/examples/uc24_fire_with_level_key.rb +19 -0
  13. data/examples/uc30_local_variables.rb +28 -0
  14. data/examples/uc31_instance_variables.rb +35 -0
  15. data/examples/uc32_class_variables.rb +20 -0
  16. data/examples/uc33_statics.rb +20 -0
  17. data/examples2/uc30_local_variables.rb +55 -0
  18. data/examples2/uc31_instance_variables.rb +46 -0
  19. data/examples2/uc32_class_variables.rb +22 -0
  20. data/examples2/uc33_statics.rb +23 -0
  21. data/lib/tengine/core/bootstrap.rb +1 -1
  22. data/lib/tengine/core/config/atd.rb +0 -3
  23. data/lib/tengine/core/config/core.rb +21 -20
  24. data/lib/tengine/core/config/heartbeat_watcher.rb +0 -3
  25. data/lib/tengine/core/driveable.rb +34 -12
  26. data/lib/tengine/core/driver.rb +22 -9
  27. data/lib/tengine/core/dsl_evaluator.rb +2 -15
  28. data/lib/tengine/core/dsl_filter_def.rb +40 -0
  29. data/lib/tengine/core/dsl_loader.rb +1 -1
  30. data/lib/tengine/core/event.rb +44 -29
  31. data/lib/tengine/core/event/finder.rb +1 -1
  32. data/lib/tengine/core/event_exception_reportable.rb +7 -10
  33. data/lib/tengine/core/event_wrapper.rb +1 -1
  34. data/lib/tengine/core/find_by_name.rb +1 -1
  35. data/lib/tengine/core/handler.rb +14 -4
  36. data/lib/tengine/core/handler_path.rb +1 -1
  37. data/lib/tengine/core/heartbeat_watcher.rb +3 -2
  38. data/lib/tengine/core/kernel.rb +22 -6
  39. data/lib/tengine/core/mongoid_fix.rb +2 -1
  40. data/lib/tengine/core/mutex.rb +22 -8
  41. data/lib/tengine/core/optimistic_lock.rb +6 -6
  42. data/lib/tengine/core/safe_updatable.rb +24 -26
  43. data/lib/tengine/core/schedule.rb +2 -2
  44. data/lib/tengine/core/scheduler.rb +5 -4
  45. data/lib/tengine/core/session.rb +14 -0
  46. data/lib/tengine/core/session_wrapper.rb +20 -4
  47. data/lib/tengine/core/setting.rb +3 -3
  48. data/lib/tengine/rspec/extension.rb +6 -8
  49. metadata +156 -171
  50. data/.document +0 -5
  51. data/.rspec +0 -1
  52. data/Rakefile +0 -44
  53. data/VERSION +0 -1
  54. data/lib/tengine/core/connection_test/.gitignore +0 -1
  55. data/spec/factories/tengine_core_drivers.rb +0 -10
  56. data/spec/factories/tengine_core_events.rb +0 -14
  57. data/spec/factories/tengine_core_handler_paths.rb +0 -9
  58. data/spec/factories/tengine_core_handlers.rb +0 -9
  59. data/spec/factories/tengine_core_sessions.rb +0 -9
  60. data/spec/mongoid.yml +0 -35
  61. data/spec/spec_helper.rb +0 -48
  62. data/spec/support/mongo_index_key_log.rb +0 -91
  63. data/spec/tengine/core/bootstrap_spec.rb +0 -278
  64. data/spec/tengine/core/bugfix/bind_dsl_file_in_multi_byte_dir_spec.rb +0 -21
  65. data/spec/tengine/core/bugfix/enabled_on_activation_spec.rb +0 -112
  66. data/spec/tengine/core/bugfix/receive_event_spec.rb +0 -133
  67. data/spec/tengine/core/bugfix/use_dsl_version_method.rb +0 -12
  68. data/spec/tengine/core/bugfix/use_dsl_version_method_spec.rb +0 -28
  69. data/spec/tengine/core/bugfix/use_event_in_handler_dsl.rb +0 -11
  70. data/spec/tengine/core/bugfix//351/235/236ACSII/343/201/256/343/203/206/343/202/231/343/202/243/343/203/254/343/202/257/343/203/210/343/203/252/345/220/215/source_location_encoding.rb +0 -35
  71. data/spec/tengine/core/bugfix//351/235/236ACSII/343/201/256/343/203/206/343/202/231/343/202/243/343/203/254/343/202/257/343/203/210/343/203/252/345/220/215//351/235/236ASCII/343/201/256/343/203/225/343/202/241/343/202/244/343/203/253/345/220/215_dsl.rb +0 -38
  72. data/spec/tengine/core/bugfix//351/235/236ACSII/343/201/256/343/203/207/343/202/243/343/203/254/343/202/257/343/203/210/343/203/252/345/220/215/source_location_encoding.rb +0 -35
  73. data/spec/tengine/core/bugfix//351/235/236ACSII/343/201/256/343/203/207/343/202/243/343/203/254/343/202/257/343/203/210/343/203/252/345/220/215//351/235/236ASCII/343/201/256/343/203/225/343/202/241/343/202/244/343/203/253/345/220/215_dsl.rb +0 -38
  74. data/spec/tengine/core/config/atd_spec.rb +0 -62
  75. data/spec/tengine/core/config/core_spec.rb +0 -479
  76. data/spec/tengine/core/config/heartbeat_watcher_spec.rb +0 -62
  77. data/spec/tengine/core/config/syntax_error_in_erb.yml.erb +0 -13
  78. data/spec/tengine/core/config/wrong_category_name.yml.erb +0 -13
  79. data/spec/tengine/core/config/wrong_field_name.yml.erb +0 -12
  80. data/spec/tengine/core/config/wrong_yaml.yml.erb +0 -13
  81. data/spec/tengine/core/config_spec/another_port.yml +0 -54
  82. data/spec/tengine/core/config_spec/config_with_dir_absolute_load_path.yml +0 -16
  83. data/spec/tengine/core/config_spec/config_with_dir_relative_load_path.yml +0 -16
  84. data/spec/tengine/core/config_spec/config_with_file_absolute_load_path.yml +0 -16
  85. data/spec/tengine/core/config_spec/config_with_file_relative_load_path.yml +0 -16
  86. data/spec/tengine/core/config_spec/log_config_spec.rb +0 -245
  87. data/spec/tengine/core/driveable_spec.rb +0 -240
  88. data/spec/tengine/core/driver_spec.rb +0 -159
  89. data/spec/tengine/core/dsl_loader_spec.rb +0 -172
  90. data/spec/tengine/core/dsls/uc08_if_both_a_and_b_occurs_spec.rb +0 -35
  91. data/spec/tengine/core/dsls/uc10_if_the_event_occurs_at_the_server_spec.rb +0 -58
  92. data/spec/tengine/core/dsls/uc50_commit_event_at_first_spec.rb +0 -29
  93. data/spec/tengine/core/dsls/uc52_commit_event_after_all_handler_submit_spec.rb +0 -33
  94. data/spec/tengine/core/dsls/uc52_never_commit_event_unless_all_handler_submit_spec.rb +0 -38
  95. data/spec/tengine/core/dsls/uc53_submit_outside_of_handler_spec.rb +0 -37
  96. data/spec/tengine/core/dsls/uc60_event_in_handler_spec.rb +0 -31
  97. data/spec/tengine/core/dsls/uc61_event_outside_of_handler_spec.rb +0 -37
  98. data/spec/tengine/core/dsls/uc62_session_in_driver_spec.rb +0 -36
  99. data/spec/tengine/core/dsls/uc63_session_outside_of_driver_spec.rb +0 -35
  100. data/spec/tengine/core/dsls/uc64_safety_countup_spec.rb +0 -134
  101. data/spec/tengine/core/dsls/uc70_driver_enabled_on_activation_spec.rb +0 -39
  102. data/spec/tengine/core/dsls/uc71_driver_disabled_on_activation_spec.rb +0 -36
  103. data/spec/tengine/core/dsls/uc72_setup_eventmachine_spec.rb +0 -39
  104. data/spec/tengine/core/dsls/uc80_raise_io_error_spec.rb +0 -53
  105. data/spec/tengine/core/dsls/uc81_raise_runtime_error_spec.rb +0 -49
  106. data/spec/tengine/core/event/finder_spec.rb +0 -136
  107. data/spec/tengine/core/event_exception_reportable_spec.rb +0 -33
  108. data/spec/tengine/core/event_spec.rb +0 -161
  109. data/spec/tengine/core/event_wrapper_spec.rb +0 -35
  110. data/spec/tengine/core/handler_path_spec.rb +0 -87
  111. data/spec/tengine/core/handler_spec.rb +0 -190
  112. data/spec/tengine/core/heartbeat_watcher_spec.rb +0 -131
  113. data/spec/tengine/core/io_to_logger_spec.rb +0 -30
  114. data/spec/tengine/core/kernel_spec.rb +0 -902
  115. data/spec/tengine/core/mongodb_spec.rb +0 -12
  116. data/spec/tengine/core/mongoid_fix_spec.rb +0 -52
  117. data/spec/tengine/core/mutex_spec.rb +0 -201
  118. data/spec/tengine/core/optimistic_lock_spec.rb +0 -55
  119. data/spec/tengine/core/scheculer_spec.rb +0 -121
  120. data/spec/tengine/core/selectable_attr_spec.rb +0 -30
  121. data/spec/tengine/core/session_spec.rb +0 -104
  122. data/spec/tengine/core/setting_spec.rb +0 -79
  123. data/spec/tengine/core_spec.rb +0 -13
  124. data/spec/tengine_spec.rb +0 -14
  125. data/tengine_core.gemspec +0 -251
  126. data/tmp/log/.gitignore +0 -1
  127. data/tmp/tengined_status/.gitignore +0 -1
@@ -34,13 +34,12 @@ module Tengine::Core::OptimisticLock
34
34
  def __update_with_lock__
35
35
  lock_field_name = self.class.locking_field
36
36
  current_version = self.send(lock_field_name)
37
- hash = as_document.dup
37
+ hash = as_document.dup.stringify_keys
38
+ hash.delete("_id") # _id not allowed in mod
38
39
  new_version = current_version + 1
39
- hash[lock_field_name] = new_version
40
-
40
+ hash[lock_field_name.to_s] = new_version
41
41
  selector = { :_id => self.id, lock_field_name.to_sym => current_version }
42
42
  result = update_in_safe_mode(self.class.collection, selector, hash)
43
-
44
43
  send("#{lock_field_name}=", new_version)
45
44
  result["updatedExisting"] && !result["err"]
46
45
  end
@@ -51,8 +50,9 @@ module Tengine::Core::OptimisticLock
51
50
  DEFAULT_LOCKING_FIELD = 'lock_version'.freeze
52
51
 
53
52
  # Set the field to use for optimistic locking. Defaults to +lock_version+.
54
- def set_locking_field(value = nil, &block)
55
- define_attr_method :locking_field, value, &block
53
+ def set_locking_field(value = nil)
54
+ # 後者のlocking_fieldメソッドを上書きします。
55
+ self.instance_eval("def locking_field; #{value.inspect}; end")
56
56
  value
57
57
  end
58
58
 
@@ -3,37 +3,35 @@ require 'tengine/core'
3
3
  module Tengine::Core::SafeUpdatable
4
4
  extend ActiveSupport::Concern
5
5
 
6
- module InstanceMethods
7
- def update_in_safe_mode(collection, selector, document, opts=nil)
8
- options = { :upsert => false, :multiple => false }
9
- options.update(opts) if opts
6
+ def update_in_safe_mode(collection, selector, document, opts=nil)
7
+ options = { :upsert => false, :multiple => false }
8
+ options.update(opts) if opts
10
9
 
11
- options = options.merge({ :safe => safemode(collection, 10240) })
10
+ options = options.merge({ :safe => safemode(collection, 10240) })
12
11
 
13
- max_retries = 60
14
- retries = 0
15
- begin
16
- # Return a Hash containing the last error object if running safe mode.
17
- # Otherwise, returns true
18
- result = collection.driver.update(selector, document, options)
19
- rescue Mongo::ConnectionFailure, Mongo::OperationFailure => ex
20
- case ex when Mongo::OperationFailure then
21
- raise ex unless ex.message =~ /wtimeout/
22
- end
23
- retries += 1
24
- raise ex if retries > max_retries
25
- Tengine.logger.debug "retrying due to mongodb error #{ex.inspect}, #{retries} times."
26
- sleep 0.5
27
- retry
12
+ max_retries = 60
13
+ retries = 0
14
+ begin
15
+ # Return a Hash containing the last error object if running safe mode.
16
+ # Otherwise, returns true
17
+ self.class.with(options).where(selector).update(document)
18
+ rescue Moped::Errors::ConnectionFailure, Moped::Errors::OperationFailure => ex
19
+ case ex when Moped::Errors::OperationFailure then
20
+ raise ex unless ex.message =~ /wtimeout/
28
21
  end
22
+ retries += 1
23
+ raise ex if retries > max_retries
24
+ Tengine.logger.debug "retrying due to mongodb error #{ex.inspect}, #{retries} times."
25
+ sleep 0.5
26
+ retry
29
27
  end
28
+ end
30
29
 
31
- def safemode(collection, wtimeout=61440)
32
- res = true
33
- case collection.driver.db.connection when Mongo::ReplSetConnection then
34
- res = { :w => "majority", :wtimeout => wtimeout, }
35
- end
36
- res
30
+ def safemode(collection, wtimeout=61440)
31
+ collection.database.session.cluster.with_primary do |n|
32
+ return n.peers.size.zero? ||
33
+ { :w => "majority", :wtimeout => wtimeout, }
37
34
  end
38
35
  end
36
+ module_function :safemode
39
37
  end
@@ -16,6 +16,6 @@ class Tengine::Core::Schedule
16
16
  field :source_name , :type => String
17
17
  field :properties , :type => Hash , :default => proc { Hash.new }
18
18
 
19
- index([ [:scheduled_at, Mongo::ASCENDING], [:status, Mongo::ASCENDING], ])
20
- index([ [:status, Mongo::ASCENDING], ])
19
+ index scheduled_at: 1, status: 1
20
+ index status: 1
21
21
  end
@@ -64,8 +64,8 @@ class Tengine::Core::Scheduler
64
64
  # 複数のマシンで複数のatdが複数動いている可能性があり、その場合には複数の
65
65
  # atdが同時に同じエントリに更新をかける可能性はとても高い。そのような状況
66
66
  # でもエラーになってはいけない。
67
- Tengine::Core::Schedule.safely(
68
- safemode(Tengine::Core::Schedule.collection)
67
+ Tengine::Core::Schedule.with(
68
+ safe: safemode(Tengine::Core::Schedule.collection)
69
69
  ).where(
70
70
  :_id => sched.id,
71
71
  :status => Tengine::Core::Schedule::SCHEDULED
@@ -120,8 +120,9 @@ class Tengine::Core::Scheduler
120
120
  def start
121
121
  @config.setup_loggers
122
122
 
123
- Mongoid.config.from_hash @config[:db]
124
- Mongoid.config.option :persist_in_safe_mode, :default => true
123
+ Mongoid.configure do |c|
124
+ c.send :load_configuration, @config[:db]
125
+ end
125
126
 
126
127
  require 'amqp'
127
128
  Mongoid.logger = AMQP::Session.logger = Tengine.logger
@@ -18,4 +18,18 @@ class Tengine::Core::Session
18
18
  # 元々の[]と[]=メソッドをオーバーライドしているので要注意
19
19
  def [](key); properties[key]; end
20
20
  def []=(key, value); properties[key] = value; end
21
+
22
+ def clear_properties
23
+ self.properties = {}
24
+ end
25
+
26
+ def clear_system_properties
27
+ self.system_properties = {}
28
+ end
29
+
30
+ def clear
31
+ clear_properties
32
+ clear_system_properties
33
+ end
34
+
21
35
  end
@@ -28,6 +28,21 @@ class Tengine::Core::SessionWrapper
28
28
  __update__(:system_properties, *args, &block)
29
29
  end
30
30
 
31
+ def reload
32
+ @source.reload
33
+ end
34
+
35
+
36
+ def clear
37
+ @source.reload
38
+ @source.clear
39
+ end
40
+ def clear!
41
+ clear
42
+ @source.save!
43
+ end
44
+
45
+
31
46
  private
32
47
  def __update__(target_name, *args, &block)
33
48
  if block_given?
@@ -57,10 +72,11 @@ class Tengine::Core::SessionWrapper
57
72
  end
58
73
 
59
74
  def __find_and_modify__(target_name, values)
60
- result = Tengine::Core::Session.collection.find_and_modify({
61
- :query => {:_id => @source.id, :lock_version => @source.lock_version},
62
- :update => { target_name => values, :lock_version => @source.lock_version + 1}
63
- })
75
+ result = Tengine::Core::Session.where({
76
+ :_id => @source.id, :lock_version => @source.lock_version
77
+ }).find_and_modify({
78
+ "$set" => { target_name => values, :lock_version => @source.lock_version + 1}
79
+ }, new: true)
64
80
  result
65
81
  end
66
82
 
@@ -9,12 +9,12 @@ class Tengine::Core::Setting
9
9
 
10
10
  validates :name, :presence => true, :uniqueness => true
11
11
 
12
- index :name, :unique => true
12
+ index({name: 1}, {unique: true})
13
13
 
14
14
  class << self
15
15
  def dsl_version
16
- document = first(:conditions => {:name => "dsl_version"})
17
- raise Mongoid::Errors::DocumentNotFound.new(Tengine::Core::Setting, "dsl_version") unless document
16
+ document = where({:name => "dsl_version"}).first
17
+ raise Mongoid::Errors::DocumentNotFound.new(Tengine::Core::Setting, "dsl_version", "dsl_version") unless document
18
18
  document.value
19
19
  end
20
20
  end
@@ -28,7 +28,7 @@ module Tengine::RSpec::Extension
28
28
 
29
29
  def driver(driver_name)
30
30
  before do
31
- @__driver__ = Tengine::Core::Driver.first(:conditions => {:name => driver_name})
31
+ @__driver__ = Tengine::Core::Driver.where({:name => driver_name}).first
32
32
  if @__driver__
33
33
  session = @__driver__.session
34
34
  @__session__ = Tengine::Core::SessionWrapper.new(session)
@@ -40,14 +40,12 @@ module Tengine::RSpec::Extension
40
40
  end
41
41
  end
42
42
 
43
- module InstanceMethods
44
- def session
45
- @__session__
46
- end
43
+ def session
44
+ @__session__
45
+ end
47
46
 
48
- def tengine
49
- @__tengine__
50
- end
47
+ def tengine
48
+ @__tengine__
51
49
  end
52
50
 
53
51
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tengine_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.39
4
+ version: 1.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -14,33 +14,43 @@ authors:
14
14
  autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
- date: 2012-05-02 00:00:00.000000000Z
17
+ date: 2012-12-19 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: activesupport
21
- requirement: &2156334260 !ruby/object:Gem::Requirement
21
+ requirement: !ruby/object:Gem::Requirement
22
22
  none: false
23
23
  requirements:
24
- - - ~>
24
+ - - ! '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: 3.1.0
27
27
  type: :runtime
28
28
  prerelease: false
29
- version_requirements: *2156334260
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ none: false
31
+ requirements:
32
+ - - ! '>='
33
+ - !ruby/object:Gem::Version
34
+ version: 3.1.0
30
35
  - !ruby/object:Gem::Dependency
31
36
  name: activemodel
32
- requirement: &2156333400 !ruby/object:Gem::Requirement
37
+ requirement: !ruby/object:Gem::Requirement
33
38
  none: false
34
39
  requirements:
35
- - - ~>
40
+ - - ! '>='
36
41
  - !ruby/object:Gem::Version
37
42
  version: 3.1.0
38
43
  type: :runtime
39
44
  prerelease: false
40
- version_requirements: *2156333400
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ none: false
47
+ requirements:
48
+ - - ! '>='
49
+ - !ruby/object:Gem::Version
50
+ version: 3.1.0
41
51
  - !ruby/object:Gem::Dependency
42
52
  name: selectable_attr
43
- requirement: &2156332540 !ruby/object:Gem::Requirement
53
+ requirement: !ruby/object:Gem::Requirement
44
54
  none: false
45
55
  requirements:
46
56
  - - ~>
@@ -48,76 +58,63 @@ dependencies:
48
58
  version: 0.3.15
49
59
  type: :runtime
50
60
  prerelease: false
51
- version_requirements: *2156332540
52
- - !ruby/object:Gem::Dependency
53
- name: bson
54
- requirement: &2156202440 !ruby/object:Gem::Requirement
61
+ version_requirements: !ruby/object:Gem::Requirement
55
62
  none: false
56
63
  requirements:
57
64
  - - ~>
58
65
  - !ruby/object:Gem::Version
59
- version: 1.5.2
60
- type: :runtime
61
- prerelease: false
62
- version_requirements: *2156202440
66
+ version: 0.3.15
63
67
  - !ruby/object:Gem::Dependency
64
- name: bson_ext
65
- requirement: &2156181980 !ruby/object:Gem::Requirement
68
+ name: mongoid
69
+ requirement: !ruby/object:Gem::Requirement
66
70
  none: false
67
71
  requirements:
68
72
  - - ~>
69
73
  - !ruby/object:Gem::Version
70
- version: 1.5.2
74
+ version: 3.0.0
71
75
  type: :runtime
72
76
  prerelease: false
73
- version_requirements: *2156181980
74
- - !ruby/object:Gem::Dependency
75
- name: mongo
76
- requirement: &2156166600 !ruby/object:Gem::Requirement
77
+ version_requirements: !ruby/object:Gem::Requirement
77
78
  none: false
78
79
  requirements:
79
80
  - - ~>
80
81
  - !ruby/object:Gem::Version
81
- version: 1.5.2
82
- type: :runtime
83
- prerelease: false
84
- version_requirements: *2156166600
82
+ version: 3.0.0
85
83
  - !ruby/object:Gem::Dependency
86
- name: mongoid
87
- requirement: &2156140120 !ruby/object:Gem::Requirement
84
+ name: tengine_support
85
+ requirement: !ruby/object:Gem::Requirement
88
86
  none: false
89
87
  requirements:
90
88
  - - ~>
91
89
  - !ruby/object:Gem::Version
92
- version: 2.3.3
90
+ version: 1.1.0
93
91
  type: :runtime
94
92
  prerelease: false
95
- version_requirements: *2156140120
96
- - !ruby/object:Gem::Dependency
97
- name: tengine_support
98
- requirement: &2156093860 !ruby/object:Gem::Requirement
93
+ version_requirements: !ruby/object:Gem::Requirement
99
94
  none: false
100
95
  requirements:
101
96
  - - ~>
102
97
  - !ruby/object:Gem::Version
103
- version: 0.3.27
104
- type: :runtime
105
- prerelease: false
106
- version_requirements: *2156093860
98
+ version: 1.1.0
107
99
  - !ruby/object:Gem::Dependency
108
100
  name: tengine_event
109
- requirement: &2156087760 !ruby/object:Gem::Requirement
101
+ requirement: !ruby/object:Gem::Requirement
110
102
  none: false
111
103
  requirements:
112
104
  - - ~>
113
105
  - !ruby/object:Gem::Version
114
- version: 0.4.9
106
+ version: 1.1.0
115
107
  type: :runtime
116
108
  prerelease: false
117
- version_requirements: *2156087760
109
+ version_requirements: !ruby/object:Gem::Requirement
110
+ none: false
111
+ requirements:
112
+ - - ~>
113
+ - !ruby/object:Gem::Version
114
+ version: 1.1.0
118
115
  - !ruby/object:Gem::Dependency
119
116
  name: daemons
120
- requirement: &2156045280 !ruby/object:Gem::Requirement
117
+ requirement: !ruby/object:Gem::Requirement
121
118
  none: false
122
119
  requirements:
123
120
  - - ~>
@@ -125,98 +122,143 @@ dependencies:
125
122
  version: 1.1.4
126
123
  type: :runtime
127
124
  prerelease: false
128
- version_requirements: *2156045280
129
- - !ruby/object:Gem::Dependency
130
- name: rspec
131
- requirement: &2156018000 !ruby/object:Gem::Requirement
125
+ version_requirements: !ruby/object:Gem::Requirement
132
126
  none: false
133
127
  requirements:
134
128
  - - ~>
135
129
  - !ruby/object:Gem::Version
136
- version: 2.6.0
137
- type: :development
138
- prerelease: false
139
- version_requirements: *2156018000
130
+ version: 1.1.4
140
131
  - !ruby/object:Gem::Dependency
141
- name: factory_girl
142
- requirement: &2156009840 !ruby/object:Gem::Requirement
132
+ name: bundler
133
+ requirement: !ruby/object:Gem::Requirement
143
134
  none: false
144
135
  requirements:
145
- - - ~>
136
+ - - ! '>='
146
137
  - !ruby/object:Gem::Version
147
- version: 2.1.2
138
+ version: '0'
148
139
  type: :development
149
140
  prerelease: false
150
- version_requirements: *2156009840
141
+ version_requirements: !ruby/object:Gem::Requirement
142
+ none: false
143
+ requirements:
144
+ - - ! '>='
145
+ - !ruby/object:Gem::Version
146
+ version: '0'
151
147
  - !ruby/object:Gem::Dependency
152
- name: yard
153
- requirement: &2155994840 !ruby/object:Gem::Requirement
148
+ name: rake
149
+ requirement: !ruby/object:Gem::Requirement
154
150
  none: false
155
151
  requirements:
156
152
  - - ~>
157
153
  - !ruby/object:Gem::Version
158
- version: 0.7.2
154
+ version: 0.9.2.2
159
155
  type: :development
160
156
  prerelease: false
161
- version_requirements: *2155994840
157
+ version_requirements: !ruby/object:Gem::Requirement
158
+ none: false
159
+ requirements:
160
+ - - ~>
161
+ - !ruby/object:Gem::Version
162
+ version: 0.9.2.2
162
163
  - !ruby/object:Gem::Dependency
163
- name: bundler
164
- requirement: &2155991380 !ruby/object:Gem::Requirement
164
+ name: rspec
165
+ requirement: !ruby/object:Gem::Requirement
165
166
  none: false
166
167
  requirements:
167
168
  - - ~>
168
169
  - !ruby/object:Gem::Version
169
- version: 1.1.3
170
+ version: 2.10.0
170
171
  type: :development
171
172
  prerelease: false
172
- version_requirements: *2155991380
173
+ version_requirements: !ruby/object:Gem::Requirement
174
+ none: false
175
+ requirements:
176
+ - - ~>
177
+ - !ruby/object:Gem::Version
178
+ version: 2.10.0
173
179
  - !ruby/object:Gem::Dependency
174
- name: jeweler
175
- requirement: &2155962760 !ruby/object:Gem::Requirement
180
+ name: yard
181
+ requirement: !ruby/object:Gem::Requirement
176
182
  none: false
177
183
  requirements:
178
184
  - - ~>
179
185
  - !ruby/object:Gem::Version
180
- version: 1.6.4
186
+ version: 0.8.1
181
187
  type: :development
182
188
  prerelease: false
183
- version_requirements: *2155962760
189
+ version_requirements: !ruby/object:Gem::Requirement
190
+ none: false
191
+ requirements:
192
+ - - ~>
193
+ - !ruby/object:Gem::Version
194
+ version: 0.8.1
184
195
  - !ruby/object:Gem::Dependency
185
196
  name: simplecov
186
- requirement: &2155890440 !ruby/object:Gem::Requirement
197
+ requirement: !ruby/object:Gem::Requirement
187
198
  none: false
188
199
  requirements:
189
200
  - - ~>
190
201
  - !ruby/object:Gem::Version
191
- version: 0.5.3
202
+ version: 0.6.4
192
203
  type: :development
193
204
  prerelease: false
194
- version_requirements: *2155890440
195
- - !ruby/object:Gem::Dependency
196
- name: ZenTest
197
- requirement: &2152522420 !ruby/object:Gem::Requirement
205
+ version_requirements: !ruby/object:Gem::Requirement
198
206
  none: false
199
207
  requirements:
200
208
  - - ~>
201
209
  - !ruby/object:Gem::Version
202
- version: 4.6.2
210
+ version: 0.6.4
211
+ - !ruby/object:Gem::Dependency
212
+ name: autotest
213
+ requirement: !ruby/object:Gem::Requirement
214
+ none: false
215
+ requirements:
216
+ - - ! '>='
217
+ - !ruby/object:Gem::Version
218
+ version: '0'
203
219
  type: :development
204
220
  prerelease: false
205
- version_requirements: *2152522420
221
+ version_requirements: !ruby/object:Gem::Requirement
222
+ none: false
223
+ requirements:
224
+ - - ! '>='
225
+ - !ruby/object:Gem::Version
226
+ version: '0'
206
227
  - !ruby/object:Gem::Dependency
207
228
  name: rdiscount
208
- requirement: &2152520120 !ruby/object:Gem::Requirement
229
+ requirement: !ruby/object:Gem::Requirement
230
+ none: false
231
+ requirements:
232
+ - - ! '>='
233
+ - !ruby/object:Gem::Version
234
+ version: '0'
235
+ type: :development
236
+ prerelease: false
237
+ version_requirements: !ruby/object:Gem::Requirement
209
238
  none: false
210
239
  requirements:
211
240
  - - ! '>='
212
241
  - !ruby/object:Gem::Version
213
242
  version: '0'
243
+ - !ruby/object:Gem::Dependency
244
+ name: factory_girl
245
+ requirement: !ruby/object:Gem::Requirement
246
+ none: false
247
+ requirements:
248
+ - - ~>
249
+ - !ruby/object:Gem::Version
250
+ version: 3.3.0
214
251
  type: :development
215
252
  prerelease: false
216
- version_requirements: *2152520120
253
+ version_requirements: !ruby/object:Gem::Requirement
254
+ none: false
255
+ requirements:
256
+ - - ~>
257
+ - !ruby/object:Gem::Version
258
+ version: 3.3.0
217
259
  - !ruby/object:Gem::Dependency
218
260
  name: kramdown
219
- requirement: &2152517960 !ruby/object:Gem::Requirement
261
+ requirement: !ruby/object:Gem::Requirement
220
262
  none: false
221
263
  requirements:
222
264
  - - ! '>='
@@ -224,33 +266,41 @@ dependencies:
224
266
  version: '0'
225
267
  type: :development
226
268
  prerelease: false
227
- version_requirements: *2152517960
269
+ version_requirements: !ruby/object:Gem::Requirement
270
+ none: false
271
+ requirements:
272
+ - - ! '>='
273
+ - !ruby/object:Gem::Version
274
+ version: '0'
228
275
  description: tengine_core is a framework/engine to support distributed processing
229
276
  email: tengine-info@groovenauts.jp
230
277
  executables:
231
278
  - tengined
232
279
  - tengine_heartbeat_watchd
233
280
  - tengine_atd
281
+ - create_indexes_for_tengine_core
234
282
  extensions: []
235
283
  extra_rdoc_files:
236
284
  - README.md
237
285
  files:
238
- - .document
239
- - .rspec
240
286
  - Gemfile
241
287
  - Gemfile.lock
242
288
  - README.md
243
- - Rakefile
244
- - VERSION
245
- - bin/tengine_atd
246
- - bin/tengine_heartbeat_watchd
247
- - bin/tengined
248
- - examples/VERSION
289
+ - examples/list.txt
249
290
  - examples/uc01_execute_processing_for_event.rb
250
291
  - examples/uc02_fire_another_event.rb
251
292
  - examples/uc03_2handlers_for_1event.rb
252
293
  - examples/uc08_if_both_a_and_b_occurs.rb
253
294
  - examples/uc10_if_the_event_occurs_at_the_server.rb
295
+ - examples/uc20_fire_with_properties.rb
296
+ - examples/uc21_fire_with_same_key.rb
297
+ - examples/uc22_fire_with_source_name.rb
298
+ - examples/uc23_fire_with_level.rb
299
+ - examples/uc24_fire_with_level_key.rb
300
+ - examples/uc30_local_variables.rb
301
+ - examples/uc31_instance_variables.rb
302
+ - examples/uc32_class_variables.rb
303
+ - examples/uc33_statics.rb
254
304
  - examples/uc50_commit_event_at_first.rb
255
305
  - examples/uc51_commit_event_at_first_submit.rb
256
306
  - examples/uc52_commit_event_after_all_handler_submit.rb
@@ -263,36 +313,43 @@ files:
263
313
  - examples/uc72_setup_eventmachine.rb
264
314
  - examples/uc80_raise_io_error.rb
265
315
  - examples/uc81_raise_runtime_error.rb
316
+ - examples/VERSION
266
317
  - examples2/driver01.rb
267
318
  - examples2/driver02.rb
268
319
  - examples2/uc08_if_both_a_and_b_occurs.rb
269
320
  - examples2/uc10_if_the_event_occurs_at_the_server.rb
321
+ - examples2/uc30_local_variables.rb
322
+ - examples2/uc31_instance_variables.rb
323
+ - examples2/uc32_class_variables.rb
324
+ - examples2/uc33_statics.rb
270
325
  - examples2/uc51_commit_event_at_first_submit_1.rb
271
326
  - examples2/uc51_commit_event_at_first_submit_2.rb
272
327
  - examples2/uc51_commit_event_at_first_submit_3.rb
273
328
  - examples2/uc62_session_in_driver.rb
274
329
  - examples2/uc71_driver_disabled_on_activation.rb
275
- - failure_examples/VERSION
330
+ - bin/create_indexes_for_tengine_core
331
+ - bin/tengine_atd
332
+ - bin/tengine_heartbeat_watchd
333
+ - bin/tengined
276
334
  - failure_examples/uc53_submit_outside_of_handler.rb
277
335
  - failure_examples/uc61_event_outside_of_handler.rb
278
336
  - failure_examples/uc63_session_outside_of_driver.rb
279
- - lib/tengine/core.rb
337
+ - failure_examples/VERSION
280
338
  - lib/tengine/core/bootstrap.rb
281
339
  - lib/tengine/core/collection_accessible.rb
282
- - lib/tengine/core/config.rb
283
340
  - lib/tengine/core/config/atd.rb
284
341
  - lib/tengine/core/config/core.rb
285
342
  - lib/tengine/core/config/heartbeat_watcher.rb
286
- - lib/tengine/core/connection_test/.gitignore
343
+ - lib/tengine/core/config.rb
287
344
  - lib/tengine/core/connection_test/fire_bar_on_foo.rb
288
345
  - lib/tengine/core/driveable.rb
289
- - lib/tengine/core/driver.rb
290
346
  - lib/tengine/core/driver/finder.rb
347
+ - lib/tengine/core/driver.rb
291
348
  - lib/tengine/core/dsl_evaluator.rb
292
349
  - lib/tengine/core/dsl_filter_def.rb
293
350
  - lib/tengine/core/dsl_loader.rb
294
- - lib/tengine/core/event.rb
295
351
  - lib/tengine/core/event/finder.rb
352
+ - lib/tengine/core/event.rb
296
353
  - lib/tengine/core/event_exception_reportable.rb
297
354
  - lib/tengine/core/event_wrapper.rb
298
355
  - lib/tengine/core/find_by_name.rb
@@ -315,85 +372,13 @@ files:
315
372
  - lib/tengine/core/session_wrapper.rb
316
373
  - lib/tengine/core/setting.rb
317
374
  - lib/tengine/core/validation.rb
375
+ - lib/tengine/core.rb
318
376
  - lib/tengine/errors.rb
319
- - lib/tengine/rspec.rb
320
377
  - lib/tengine/rspec/context_wrapper.rb
321
378
  - lib/tengine/rspec/extension.rb
379
+ - lib/tengine/rspec.rb
322
380
  - lib/tengine_core.rb
323
- - spec/factories/tengine_core_drivers.rb
324
- - spec/factories/tengine_core_events.rb
325
- - spec/factories/tengine_core_handler_paths.rb
326
- - spec/factories/tengine_core_handlers.rb
327
- - spec/factories/tengine_core_sessions.rb
328
- - spec/mongoid.yml
329
- - spec/spec_helper.rb
330
- - spec/support/mongo_index_key_log.rb
331
- - spec/tengine/core/bootstrap_spec.rb
332
- - spec/tengine/core/bugfix/bind_dsl_file_in_multi_byte_dir_spec.rb
333
- - spec/tengine/core/bugfix/enabled_on_activation_spec.rb
334
- - spec/tengine/core/bugfix/receive_event_spec.rb
335
- - spec/tengine/core/bugfix/use_dsl_version_method.rb
336
- - spec/tengine/core/bugfix/use_dsl_version_method_spec.rb
337
- - spec/tengine/core/bugfix/use_event_in_handler_dsl.rb
338
- - spec/tengine/core/bugfix/非ACSIIのディレクトリ名/source_location_encoding.rb
339
- - spec/tengine/core/bugfix/非ACSIIのディレクトリ名/非ASCIIのファイル名_dsl.rb
340
- - spec/tengine/core/bugfix/非ACSIIのディレクトリ名/source_location_encoding.rb
341
- - spec/tengine/core/bugfix/非ACSIIのディレクトリ名/非ASCIIのファイル名_dsl.rb
342
- - spec/tengine/core/config/atd_spec.rb
343
- - spec/tengine/core/config/core_spec.rb
344
- - spec/tengine/core/config/heartbeat_watcher_spec.rb
345
- - spec/tengine/core/config/syntax_error_in_erb.yml.erb
346
- - spec/tengine/core/config/wrong_category_name.yml.erb
347
- - spec/tengine/core/config/wrong_field_name.yml.erb
348
- - spec/tengine/core/config/wrong_yaml.yml.erb
349
- - spec/tengine/core/config_spec/another_port.yml
350
- - spec/tengine/core/config_spec/config_with_dir_absolute_load_path.yml
351
- - spec/tengine/core/config_spec/config_with_dir_relative_load_path.yml
352
- - spec/tengine/core/config_spec/config_with_file_absolute_load_path.yml
353
- - spec/tengine/core/config_spec/config_with_file_relative_load_path.yml
354
- - spec/tengine/core/config_spec/log_config_spec.rb
355
- - spec/tengine/core/driveable_spec.rb
356
- - spec/tengine/core/driver_spec.rb
357
- - spec/tengine/core/dsl_loader_spec.rb
358
- - spec/tengine/core/dsls/uc08_if_both_a_and_b_occurs_spec.rb
359
- - spec/tengine/core/dsls/uc10_if_the_event_occurs_at_the_server_spec.rb
360
- - spec/tengine/core/dsls/uc50_commit_event_at_first_spec.rb
361
- - spec/tengine/core/dsls/uc52_commit_event_after_all_handler_submit_spec.rb
362
- - spec/tengine/core/dsls/uc52_never_commit_event_unless_all_handler_submit_spec.rb
363
- - spec/tengine/core/dsls/uc53_submit_outside_of_handler_spec.rb
364
- - spec/tengine/core/dsls/uc60_event_in_handler_spec.rb
365
- - spec/tengine/core/dsls/uc61_event_outside_of_handler_spec.rb
366
- - spec/tengine/core/dsls/uc62_session_in_driver_spec.rb
367
- - spec/tengine/core/dsls/uc63_session_outside_of_driver_spec.rb
368
- - spec/tengine/core/dsls/uc64_safety_countup_spec.rb
369
- - spec/tengine/core/dsls/uc70_driver_enabled_on_activation_spec.rb
370
- - spec/tengine/core/dsls/uc71_driver_disabled_on_activation_spec.rb
371
- - spec/tengine/core/dsls/uc72_setup_eventmachine_spec.rb
372
- - spec/tengine/core/dsls/uc80_raise_io_error_spec.rb
373
- - spec/tengine/core/dsls/uc81_raise_runtime_error_spec.rb
374
- - spec/tengine/core/event/finder_spec.rb
375
- - spec/tengine/core/event_exception_reportable_spec.rb
376
- - spec/tengine/core/event_spec.rb
377
- - spec/tengine/core/event_wrapper_spec.rb
378
- - spec/tengine/core/handler_path_spec.rb
379
- - spec/tengine/core/handler_spec.rb
380
- - spec/tengine/core/heartbeat_watcher_spec.rb
381
- - spec/tengine/core/io_to_logger_spec.rb
382
- - spec/tengine/core/kernel_spec.rb
383
- - spec/tengine/core/mongodb_spec.rb
384
- - spec/tengine/core/mongoid_fix_spec.rb
385
- - spec/tengine/core/mutex_spec.rb
386
- - spec/tengine/core/optimistic_lock_spec.rb
387
- - spec/tengine/core/scheculer_spec.rb
388
- - spec/tengine/core/selectable_attr_spec.rb
389
- - spec/tengine/core/session_spec.rb
390
- - spec/tengine/core/setting_spec.rb
391
- - spec/tengine/core_spec.rb
392
- - spec/tengine_spec.rb
393
- - tengine_core.gemspec
394
- - tmp/log/.gitignore
395
- - tmp/tengined_status/.gitignore
396
- homepage: http://github.com/tengine/tengine_core
381
+ homepage: https://github.com/tengine/tengine/tree/develop/tengine_core
397
382
  licenses:
398
383
  - MPL2.0/LGPLv3
399
384
  post_install_message:
@@ -408,7 +393,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
408
393
  version: '0'
409
394
  segments:
410
395
  - 0
411
- hash: -562590773071420933
396
+ hash: -2800458740640956284
412
397
  required_rubygems_version: !ruby/object:Gem::Requirement
413
398
  none: false
414
399
  requirements:
@@ -417,7 +402,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
417
402
  version: '0'
418
403
  requirements: []
419
404
  rubyforge_project:
420
- rubygems_version: 1.8.12
405
+ rubygems_version: 1.8.23
421
406
  signing_key:
422
407
  specification_version: 3
423
408
  summary: tengine_core is a framework/engine to support distributed processing