activejob-traceable 0.2.0 → 0.3.5

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: b7c05591e8a40f71a62321ff64b3f310cd3d2fd6
4
- data.tar.gz: ac10c925fcdd8adc4446f752a23805c10f6f9548
2
+ SHA256:
3
+ metadata.gz: b54c11e7a22889140d06573ff007ba010390e2b63a76acf3e89bec9c5925fd0f
4
+ data.tar.gz: 2e7e17cd4c3b4575b26bdf648f9f8690879442255992ce803941ea6acc665186
5
5
  SHA512:
6
- metadata.gz: 8625938781c924cf223599fa889a5f62b1d6adee95fdaaac31b921d84e8ffebc3161dac4c04c17893877ca91f6b6177d4493caea328b0a16dbf10350ab647a26
7
- data.tar.gz: 53942c40d0e4ebeca6e3e0d9c35e6c706a42a99c5b6db780e50750ba175da36ae2800c8791ff5bcaeebfadd56757cdb952b4a4efa986e73482508ef793558417
6
+ metadata.gz: 9d8dc30daa8d03d34e0647ae4afd9c80a22b344d719a3b0414356e71d89ae4e198f16c7d93f9186eb8c2d0796e92e798ea2c9088fee52e9c868729a040bc2222
7
+ data.tar.gz: dafe29b1bfe58ba46e3aa9944aec3b047727a19018567a302c681e8c1d5c304d63a4c283e6e9e420c548a8f06dac3ff8aeb7faeeb0fd53a04b94c3d97f99959c
data/README.md CHANGED
@@ -1,10 +1,8 @@
1
1
  # ActiveJob::Traceable
2
2
 
3
- Patches ActiveJob to add attributes `actor_id` and `correlation_id`, which are added as log's tags.
3
+ Patches ActiveJob to add attribute `tracing_info`, which is added as log's tag.
4
4
  The purpose of this patch is to be able to trace which workers are called as a result of user's HTTP request.
5
5
 
6
- :warning: `trace_id` attribute is now deprecated in favor of `actor_id` and `correlation_id`.
7
-
8
6
  ## Installation
9
7
 
10
8
  Add this line to your application's Gemfile:
@@ -23,16 +21,22 @@ Or install it yourself as:
23
21
 
24
22
  ## Configuration
25
23
 
26
- Create an initializer to tell ActiveJob how to get current `actor_id` and `correlation_id` and how to set them once deserialized:
24
+ Create an initializer to tell ActiveJob how to get current `tracing_info` and how to set it once deserialized:
27
25
 
28
26
  ```ruby
29
27
  # config/initializers/activejob_traceable.rb
30
28
 
31
- ActiveJob::Traceable.actor_id_getter = -> { CurrentScope.actor_id }
32
- ActiveJob::Traceable.actor_id_setter = ->(id) { CurrentScope.actor_id = id }
33
-
34
- ActiveJob::Traceable.correlation_id_getter = -> { CurrentScope.correlation_id }
35
- ActiveJob::Traceable.correlation_id_setter = ->(id) { CurrentScope.correlation_id = id }
29
+ ActiveJob::Traceable.tracing_info_getter = lambda do
30
+ {
31
+ actor_id: CurrentScope.actor_id,
32
+ correlation_id: CurrentScope.correlation_id
33
+ }
34
+ end
35
+
36
+ ActiveJob::Traceable.tracing_info_setter = lambda do |attributes|
37
+ CurrentScope.actor_id = attributes[:actor_id]
38
+ CurrentScope.correlation_id = attributes[:correlation_id]
39
+ end
36
40
  ```
37
41
 
38
42
  ## Usage
@@ -13,40 +13,27 @@ module ActiveJob
13
13
  module Traceable
14
14
  module_function
15
15
 
16
- def actor_id_setter=(lambda)
17
- raise 'Actor ID setter should be callable' unless lambda.respond_to?(:call)
18
-
19
- @actor_id_setter = lambda
20
- end
21
-
22
- def actor_id_getter=(lambda)
23
- raise 'Actor ID getter should be callable' unless lambda.respond_to?(:call)
24
-
25
- @actor_id_getter = lambda
26
- end
27
-
28
- def correlation_id_setter=(lambda)
29
- raise 'Correlation ID setter should be callable' unless lambda.respond_to?(:call)
30
-
31
- @correlation_id_setter = lambda
32
- end
33
-
34
- def correlation_id_getter=(lambda)
35
- raise 'Correlation ID getter should be callable' unless lambda.respond_to?(:call)
36
-
37
- @correlation_id_getter = lambda
38
- end
39
-
40
- def trace_id_setter=(lambda)
41
- raise 'Trace ID setter should be callable' unless lambda.respond_to?(:call)
42
-
43
- @trace_id_setter = lambda
16
+ def tracing_info_getter=(lambda)
17
+ if lambda
18
+ raise 'Tracing info getter should be callable' unless lambda.respond_to?(:call)
19
+ raise 'Tracing info getter should contain a hash' unless lambda.call.is_a?(Hash)
20
+
21
+ @tracing_info_getter = lambda
22
+ else
23
+ # Resets the value
24
+ @tracing_info_getter = nil
25
+ end
44
26
  end
45
27
 
46
- def trace_id_getter=(lambda)
47
- raise 'Trace ID getter should be callable' unless lambda.respond_to?(:call)
28
+ def tracing_info_setter=(lambda)
29
+ if lambda
30
+ raise 'Tracing info setter should be callable' unless lambda.respond_to?(:call)
48
31
 
49
- @trace_id_getter = lambda
32
+ @tracing_info_setter = lambda
33
+ else
34
+ # Resets the value
35
+ @tracing_info_setter = nil
36
+ end
50
37
  end
51
38
  end
52
39
  end
@@ -9,7 +9,8 @@ module ActiveJob
9
9
  private
10
10
 
11
11
  def tag_logger(*tags)
12
- tags = append_custom_tags(tags)
12
+ tags << ActiveJob::Traceable.tracing_info_getter.call.values.compact
13
+ tags.flatten!
13
14
 
14
15
  if logger.respond_to?(:tagged)
15
16
  tags.unshift 'ActiveJob' unless logger_tagged_by_active_job?
@@ -18,16 +19,6 @@ module ActiveJob
18
19
  yield
19
20
  end
20
21
  end
21
-
22
- def append_custom_tags(tags)
23
- traceable = ActiveJob::Traceable
24
-
25
- tags << traceable.actor_id_getter.call if traceable.actor_id_getter.respond_to?(:call)
26
- tags << traceable.correlation_id_getter.call if traceable.correlation_id_getter.respond_to?(:call)
27
- tags << traceable.trace_id_getter.call if traceable.trace_id_getter.respond_to?(:call)
28
-
29
- tags
30
- end
31
22
  end
32
23
  end
33
24
  end
@@ -5,40 +5,38 @@ module ActiveJob
5
5
  extend ActiveSupport::Concern
6
6
 
7
7
  included do
8
- attr_accessor :actor_id, :correlation_id, :trace_id
8
+ attr_accessor :tracing_info
9
9
 
10
- def initialize(*arguments)
11
- super(*arguments)
10
+ def initialize(*args)
11
+ super(*args)
12
12
 
13
- @actor_id = Traceable.actor_id_getter.call if Traceable.actor_id_getter.respond_to?(:call)
14
- @correlation_id = Traceable.correlation_id_getter.call if Traceable.correlation_id_getter.respond_to?(:call)
15
- @trace_id = Traceable.trace_id_getter.call if Traceable.trace_id_getter.respond_to?(:call)
13
+ @tracing_info = Traceable.tracing_info_getter.call.deep_stringify_keys
16
14
  end
15
+ ruby2_keywords :initialize if respond_to?(:ruby2_keywords, true)
17
16
 
18
17
  def serialize
19
- super.merge!(
20
- actor_id: actor_id,
21
- correlation_id: correlation_id,
22
- trace_id: trace_id,
23
- )
18
+ super.merge!('tracing_info' => tracing_info)
24
19
  end
25
20
 
26
21
  def deserialize(job_data)
27
22
  super(job_data)
28
23
 
29
- self.actor_id = job_data['actor_id']
30
- self.correlation_id = job_data['correlation_id']
31
- self.trace_id = job_data['trace_id']
24
+ if job_data['tracing_info'].is_a?(Hash)
25
+ self.tracing_info = job_data['tracing_info']
26
+ end
32
27
 
33
- Traceable.actor_id_setter.call(actor_id) if Traceable.actor_id_setter.respond_to?(:call)
34
- Traceable.correlation_id_setter.call(correlation_id) if Traceable.correlation_id_setter.respond_to?(:call)
35
- Traceable.trace_id_setter.call(trace_id) if Traceable.trace_id_setter.respond_to?(:call)
28
+ Traceable.tracing_info_setter.call(tracing_info.with_indifferent_access)
36
29
  end
37
30
  end
38
31
 
39
32
  class << self
40
- attr_accessor :actor_id_getter, :correlation_id_getter, :trace_id_getter
41
- attr_accessor :actor_id_setter, :correlation_id_setter, :trace_id_setter
33
+ def tracing_info_getter
34
+ @tracing_info_getter || -> { {} }
35
+ end
36
+
37
+ def tracing_info_setter
38
+ @tracing_info_setter || -> {}
39
+ end
42
40
  end
43
41
  end
44
42
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module ActiveJob
4
4
  module Traceable
5
- VERSION = '0.2.0'
5
+ VERSION = '0.3.5'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activejob-traceable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Qonto team
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-08-07 00:00:00.000000000 Z
11
+ date: 2021-05-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activejob
@@ -94,7 +94,7 @@ dependencies:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: '3.8'
97
- description:
97
+ description:
98
98
  email:
99
99
  - backend@qonto.eu
100
100
  executables: []
@@ -102,11 +102,6 @@ extensions: []
102
102
  extra_rdoc_files: []
103
103
  files:
104
104
  - ".gitignore"
105
- - ".idea/activejob-traceable.iml"
106
- - ".idea/markdown-navigator/profiles_settings.xml"
107
- - ".idea/misc.xml"
108
- - ".idea/modules.xml"
109
- - ".idea/workspace.xml"
110
105
  - ".rspec"
111
106
  - ".travis.yml"
112
107
  - Gemfile
@@ -122,7 +117,7 @@ homepage: https://github.com/qonto/activejob-traceable
122
117
  licenses:
123
118
  - MIT
124
119
  metadata: {}
125
- post_install_message:
120
+ post_install_message:
126
121
  rdoc_options: []
127
122
  require_paths:
128
123
  - lib
@@ -137,9 +132,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
137
132
  - !ruby/object:Gem::Version
138
133
  version: '0'
139
134
  requirements: []
140
- rubyforge_project:
141
- rubygems_version: 2.6.13
142
- signing_key:
135
+ rubygems_version: 3.1.4
136
+ signing_key:
143
137
  specification_version: 4
144
138
  summary: Patches ActiveJob to add trace_id attribute.
145
139
  test_files: []
@@ -1,29 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <module type="RUBY_MODULE" version="4">
3
- <component name="ModuleRunConfigurationManager">
4
- <shared />
5
- </component>
6
- <component name="NewModuleRootManager">
7
- <content url="file://$MODULE_DIR$" />
8
- <orderEntry type="inheritedJdk" />
9
- <orderEntry type="sourceFolder" forTests="false" />
10
- <orderEntry type="library" scope="PROVIDED" name="activejob (v5.1.4, rbenv: 2.4.2) [gem]" level="application" />
11
- <orderEntry type="library" scope="PROVIDED" name="activesupport (v5.2.1, rbenv: 2.4.2) [gem]" level="application" />
12
- <orderEntry type="library" scope="PROVIDED" name="coderay (v1.1.2, rbenv: 2.4.2) [gem]" level="application" />
13
- <orderEntry type="library" scope="PROVIDED" name="concurrent-ruby (v1.0.5, rbenv: 2.4.2) [gem]" level="application" />
14
- <orderEntry type="library" scope="PROVIDED" name="diff-lcs (v1.3, rbenv: 2.4.2) [gem]" level="application" />
15
- <orderEntry type="library" scope="PROVIDED" name="globalid (v0.4.1, rbenv: 2.4.2) [gem]" level="application" />
16
- <orderEntry type="library" scope="PROVIDED" name="i18n (v0.9.1, rbenv: 2.4.2) [gem]" level="application" />
17
- <orderEntry type="library" scope="PROVIDED" name="method_source (v0.9.0, rbenv: 2.4.2) [gem]" level="application" />
18
- <orderEntry type="library" scope="PROVIDED" name="minitest (v5.10.3, rbenv: 2.4.2) [gem]" level="application" />
19
- <orderEntry type="library" scope="PROVIDED" name="pry (v0.11.3, rbenv: 2.4.2) [gem]" level="application" />
20
- <orderEntry type="library" scope="PROVIDED" name="rake (v12.3.1, rbenv: 2.4.2) [gem]" level="application" />
21
- <orderEntry type="library" scope="PROVIDED" name="rspec (v3.8.0, rbenv: 2.4.2) [gem]" level="application" />
22
- <orderEntry type="library" scope="PROVIDED" name="rspec-core (v3.7.0, rbenv: 2.4.2) [gem]" level="application" />
23
- <orderEntry type="library" scope="PROVIDED" name="rspec-expectations (v3.7.0, rbenv: 2.4.2) [gem]" level="application" />
24
- <orderEntry type="library" scope="PROVIDED" name="rspec-mocks (v3.7.0, rbenv: 2.4.2) [gem]" level="application" />
25
- <orderEntry type="library" scope="PROVIDED" name="rspec-support (v3.7.0, rbenv: 2.4.2) [gem]" level="application" />
26
- <orderEntry type="library" scope="PROVIDED" name="thread_safe (v0.3.6, rbenv: 2.4.2) [gem]" level="application" />
27
- <orderEntry type="library" scope="PROVIDED" name="tzinfo (v1.2.4, rbenv: 2.4.2) [gem]" level="application" />
28
- </component>
29
- </module>
@@ -1,3 +0,0 @@
1
- <component name="MarkdownNavigator.ProfileManager">
2
- <settings default="" pdf-export="" plain-text-search-scope="Project Files" />
3
- </component>
data/.idea/misc.xml DELETED
@@ -1,7 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="JavaScriptSettings">
4
- <option name="languageLevel" value="ES6" />
5
- </component>
6
- <component name="ProjectRootManager" version="2" project-jdk-name="rbenv: 2.4.2" project-jdk-type="RUBY_SDK" />
7
- </project>
data/.idea/modules.xml DELETED
@@ -1,8 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectModuleManager">
4
- <modules>
5
- <module fileurl="file://$PROJECT_DIR$/.idea/activejob-traceable.iml" filepath="$PROJECT_DIR$/.idea/activejob-traceable.iml" />
6
- </modules>
7
- </component>
8
- </project>
data/.idea/workspace.xml DELETED
@@ -1,353 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ChangeListManager">
4
- <list default="true" id="c0c01fcc-0330-4197-8825-8021e468abf5" name="Default" comment="">
5
- <change afterPath="$PROJECT_DIR$/.idea/activejob-traceable.iml" afterDir="false" />
6
- <change afterPath="$PROJECT_DIR$/.idea/markdown-navigator/profiles_settings.xml" afterDir="false" />
7
- <change afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
8
- <change afterPath="$PROJECT_DIR$/.idea/modules.xml" afterDir="false" />
9
- <change afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
10
- </list>
11
- <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
12
- <option name="SHOW_DIALOG" value="false" />
13
- <option name="HIGHLIGHT_CONFLICTS" value="true" />
14
- <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
15
- <option name="LAST_RESOLUTION" value="IGNORE" />
16
- </component>
17
- <component name="FileEditorManager">
18
- <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
19
- <file pinned="false" current-in-tab="false">
20
- <entry file="file://$PROJECT_DIR$/lib/activejob/traceable/version.rb">
21
- <provider selected="true" editor-type-id="text-editor">
22
- <state relative-caret-position="30">
23
- <caret line="2" column="14" selection-start-line="2" selection-start-column="14" selection-end-line="2" selection-end-column="14" />
24
- </state>
25
- </provider>
26
- </entry>
27
- </file>
28
- <file pinned="false" current-in-tab="false">
29
- <entry file="file://$PROJECT_DIR$/lib/activejob/traceable.rb">
30
- <provider selected="true" editor-type-id="text-editor">
31
- <state relative-caret-position="360">
32
- <caret line="52" selection-start-line="52" selection-end-line="52" />
33
- </state>
34
- </provider>
35
- </entry>
36
- </file>
37
- <file pinned="false" current-in-tab="false">
38
- <entry file="file://$PROJECT_DIR$/activejob-traceable.gemspec">
39
- <provider selected="true" editor-type-id="text-editor">
40
- <state relative-caret-position="435">
41
- <caret line="29" column="51" selection-start-line="29" selection-start-column="51" selection-end-line="29" selection-end-column="51" />
42
- </state>
43
- </provider>
44
- </entry>
45
- </file>
46
- <file pinned="false" current-in-tab="false">
47
- <entry file="file://$PROJECT_DIR$/lib/activejob/traceable/traceable.rb">
48
- <provider selected="true" editor-type-id="text-editor">
49
- <state relative-caret-position="90">
50
- <caret line="6" column="15" selection-start-line="6" selection-start-column="15" selection-end-line="6" selection-end-column="15" />
51
- </state>
52
- </provider>
53
- </entry>
54
- </file>
55
- <file pinned="false" current-in-tab="false">
56
- <entry file="file://$PROJECT_DIR$/lib/activejob/traceable/logging_patch.rb">
57
- <provider selected="true" editor-type-id="text-editor">
58
- <state relative-caret-position="345">
59
- <caret line="34" selection-start-line="34" selection-end-line="34" />
60
- </state>
61
- </provider>
62
- </entry>
63
- </file>
64
- <file pinned="false" current-in-tab="false">
65
- <entry file="file://$PROJECT_DIR$/.rspec">
66
- <provider selected="true" editor-type-id="text-editor">
67
- <state relative-caret-position="15">
68
- <caret line="1" selection-start-line="1" selection-end-line="1" />
69
- </state>
70
- </provider>
71
- </entry>
72
- </file>
73
- <file pinned="false" current-in-tab="true">
74
- <entry file="file://$PROJECT_DIR$/README.md">
75
- <provider selected="true" editor-type-id="split-provider[text-editor;MarkdownPreviewEditor]">
76
- <state split_layout="SPLIT">
77
- <first_editor relative-caret-position="445">
78
- <caret line="54" lean-forward="true" selection-start-line="54" selection-end-line="54" />
79
- </first_editor>
80
- <second_editor>
81
- <markdownNavigatorState />
82
- </second_editor>
83
- </state>
84
- </provider>
85
- </entry>
86
- </file>
87
- <file pinned="false" current-in-tab="false">
88
- <entry file="file://$PROJECT_DIR$/spec/spec_helper.rb">
89
- <provider selected="true" editor-type-id="text-editor">
90
- <state relative-caret-position="90">
91
- <caret line="6" selection-start-line="6" selection-end-line="6" />
92
- </state>
93
- </provider>
94
- </entry>
95
- </file>
96
- <file pinned="false" current-in-tab="false">
97
- <entry file="file://$PROJECT_DIR$/spec/activejob/traceable_spec.rb">
98
- <provider selected="true" editor-type-id="text-editor">
99
- <state relative-caret-position="1755">
100
- <caret line="117" column="26" selection-start-line="117" selection-start-column="26" selection-end-line="117" selection-end-column="26" />
101
- </state>
102
- </provider>
103
- </entry>
104
- </file>
105
- </leaf>
106
- </component>
107
- <component name="FindInProjectRecents">
108
- <findStrings>
109
- <find>Activejob</find>
110
- </findStrings>
111
- <dirStrings>
112
- <dir>$PROJECT_DIR$</dir>
113
- </dirStrings>
114
- </component>
115
- <component name="Git.Settings">
116
- <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
117
- </component>
118
- <component name="IdeDocumentHistory">
119
- <option name="CHANGED_PATHS">
120
- <list>
121
- <option value="$PROJECT_DIR$/lib/activejob/traceable/traceable.rb" />
122
- <option value="$PROJECT_DIR$/lib/activejob/traceable/version.rb" />
123
- <option value="$PROJECT_DIR$/lib/activejob/traceable/logging_patch.rb" />
124
- <option value="$PROJECT_DIR$/lib/activejob/traceable.rb" />
125
- <option value="$PROJECT_DIR$/spec/spec_helper.rb" />
126
- <option value="$PROJECT_DIR$/spec/activejob/traceable_spec.rb" />
127
- <option value="$PROJECT_DIR$/.travis.yml" />
128
- <option value="$PROJECT_DIR$/activejob-traceable.gemspec" />
129
- <option value="$PROJECT_DIR$/.rspec" />
130
- <option value="$PROJECT_DIR$/README.md" />
131
- </list>
132
- </option>
133
- </component>
134
- <component name="ProjectFrameBounds" extendedState="6">
135
- <option name="y" value="-877" />
136
- <option name="width" value="1440" />
137
- <option name="height" value="877" />
138
- </component>
139
- <component name="ProjectLevelVcsManager" settingsEditedManually="true" />
140
- <component name="ProjectView">
141
- <navigator proportions="" version="1">
142
- <foldersAlwaysOnTop value="true" />
143
- </navigator>
144
- <panes>
145
- <pane id="ProjectPane">
146
- <subPane>
147
- <expand>
148
- <path>
149
- <item name="activejob-traceable" type="b2602c69:ProjectViewProjectNode" />
150
- <item name="activejob-traceable" type="462c0819:PsiDirectoryNode" />
151
- </path>
152
- <path>
153
- <item name="activejob-traceable" type="b2602c69:ProjectViewProjectNode" />
154
- <item name="activejob-traceable" type="462c0819:PsiDirectoryNode" />
155
- <item name="lib" type="462c0819:PsiDirectoryNode" />
156
- </path>
157
- <path>
158
- <item name="activejob-traceable" type="b2602c69:ProjectViewProjectNode" />
159
- <item name="activejob-traceable" type="462c0819:PsiDirectoryNode" />
160
- <item name="lib" type="462c0819:PsiDirectoryNode" />
161
- <item name="activejob" type="462c0819:PsiDirectoryNode" />
162
- </path>
163
- <path>
164
- <item name="activejob-traceable" type="b2602c69:ProjectViewProjectNode" />
165
- <item name="activejob-traceable" type="462c0819:PsiDirectoryNode" />
166
- <item name="lib" type="462c0819:PsiDirectoryNode" />
167
- <item name="activejob" type="462c0819:PsiDirectoryNode" />
168
- <item name="traceable" type="462c0819:PsiDirectoryNode" />
169
- </path>
170
- <path>
171
- <item name="activejob-traceable" type="b2602c69:ProjectViewProjectNode" />
172
- <item name="activejob-traceable" type="462c0819:PsiDirectoryNode" />
173
- <item name="spec" type="462c0819:PsiDirectoryNode" />
174
- </path>
175
- <path>
176
- <item name="activejob-traceable" type="b2602c69:ProjectViewProjectNode" />
177
- <item name="activejob-traceable" type="462c0819:PsiDirectoryNode" />
178
- <item name="spec" type="462c0819:PsiDirectoryNode" />
179
- <item name="activejob" type="462c0819:PsiDirectoryNode" />
180
- </path>
181
- </expand>
182
- <select />
183
- </subPane>
184
- </pane>
185
- <pane id="Scope" />
186
- </panes>
187
- </component>
188
- <component name="PropertiesComponent">
189
- <property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
190
- <property name="WebServerToolWindowFactoryState" value="false" />
191
- <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
192
- <property name="nodejs_npm_path_reset_for_default_project" value="true" />
193
- </component>
194
- <component name="RecentsManager">
195
- <key name="MoveFile.RECENT_KEYS">
196
- <recent name="$PROJECT_DIR$/lib/activejob-traceable" />
197
- </key>
198
- </component>
199
- <component name="RunDashboard">
200
- <option name="ruleStates">
201
- <list>
202
- <RuleState>
203
- <option name="name" value="ConfigurationTypeDashboardGroupingRule" />
204
- </RuleState>
205
- <RuleState>
206
- <option name="name" value="StatusDashboardGroupingRule" />
207
- </RuleState>
208
- </list>
209
- </option>
210
- </component>
211
- <component name="SpringUtil" SPRING_PRE_LOADER_OPTION="true" />
212
- <component name="TaskManager">
213
- <task active="true" id="Default" summary="Default task">
214
- <changelist id="c0c01fcc-0330-4197-8825-8021e468abf5" name="Default" comment="" />
215
- <created>1533206891659</created>
216
- <option name="number" value="Default" />
217
- <option name="presentableId" value="Default" />
218
- <updated>1533206891659</updated>
219
- <workItem from="1533206893365" duration="7822000" />
220
- <workItem from="1533286104852" duration="354000" />
221
- <workItem from="1533630485631" duration="249000" />
222
- <workItem from="1565183643326" duration="519000" />
223
- </task>
224
- <task id="LOCAL-00001" summary="Initial commit">
225
- <created>1533223167114</created>
226
- <option name="number" value="00001" />
227
- <option name="presentableId" value="LOCAL-00001" />
228
- <option name="project" value="LOCAL" />
229
- <updated>1533223167115</updated>
230
- </task>
231
- <task id="LOCAL-00002" summary="Initial commit">
232
- <created>1533223497687</created>
233
- <option name="number" value="00002" />
234
- <option name="presentableId" value="LOCAL-00002" />
235
- <option name="project" value="LOCAL" />
236
- <updated>1533223497687</updated>
237
- </task>
238
- <option name="localTasksCounter" value="3" />
239
- <servers />
240
- </component>
241
- <component name="TimeTrackingManager">
242
- <option name="totallyTimeSpent" value="8944000" />
243
- </component>
244
- <component name="ToolWindowManager">
245
- <frame x="0" y="-1057" width="1920" height="1057" extended-state="6" />
246
- <layout>
247
- <window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.19329074" />
248
- <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
249
- <window_info id="Favorites" order="2" side_tool="true" />
250
- <window_info anchor="bottom" id="Message" order="0" />
251
- <window_info anchor="bottom" id="Find" order="1" />
252
- <window_info anchor="bottom" id="Run" order="2" weight="0.3294979" />
253
- <window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
254
- <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
255
- <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
256
- <window_info anchor="bottom" id="TODO" order="6" />
257
- <window_info anchor="bottom" id="Docker" order="7" />
258
- <window_info anchor="bottom" id="Database Changes" order="8" show_stripe_button="false" />
259
- <window_info active="true" anchor="bottom" id="Terminal" order="9" visible="true" weight="0.3284974" />
260
- <window_info anchor="bottom" id="Version Control" order="10" weight="0.27564767" />
261
- <window_info anchor="bottom" id="Event Log" order="11" side_tool="true" />
262
- <window_info anchor="right" id="Commander" order="0" weight="0.4" />
263
- <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
264
- <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
265
- <window_info anchor="right" id="Database" order="3" />
266
- </layout>
267
- </component>
268
- <component name="TypeScriptGeneratedFilesManager">
269
- <option name="version" value="1" />
270
- </component>
271
- <component name="VcsManagerConfiguration">
272
- <MESSAGE value="Initial commit" />
273
- <option name="LAST_COMMIT_MESSAGE" value="Initial commit" />
274
- </component>
275
- <component name="editorHistoryManager">
276
- <entry file="file://$PROJECT_DIR$/.travis.yml">
277
- <provider selected="true" editor-type-id="text-editor">
278
- <state>
279
- <caret lean-forward="true" />
280
- </state>
281
- </provider>
282
- </entry>
283
- <entry file="file://$PROJECT_DIR$/bin/setup" />
284
- <entry file="file://$PROJECT_DIR$/lib/activejob/traceable/version.rb">
285
- <provider selected="true" editor-type-id="text-editor">
286
- <state relative-caret-position="30">
287
- <caret line="2" column="14" selection-start-line="2" selection-start-column="14" selection-end-line="2" selection-end-column="14" />
288
- </state>
289
- </provider>
290
- </entry>
291
- <entry file="file://$PROJECT_DIR$/lib/activejob/traceable.rb">
292
- <provider selected="true" editor-type-id="text-editor">
293
- <state relative-caret-position="360">
294
- <caret line="52" selection-start-line="52" selection-end-line="52" />
295
- </state>
296
- </provider>
297
- </entry>
298
- <entry file="file://$PROJECT_DIR$/lib/activejob/traceable/traceable.rb">
299
- <provider selected="true" editor-type-id="text-editor">
300
- <state relative-caret-position="90">
301
- <caret line="6" column="15" selection-start-line="6" selection-start-column="15" selection-end-line="6" selection-end-column="15" />
302
- </state>
303
- </provider>
304
- </entry>
305
- <entry file="file://$PROJECT_DIR$/lib/activejob/traceable/logging_patch.rb">
306
- <provider selected="true" editor-type-id="text-editor">
307
- <state relative-caret-position="345">
308
- <caret line="34" selection-start-line="34" selection-end-line="34" />
309
- </state>
310
- </provider>
311
- </entry>
312
- <entry file="file://$PROJECT_DIR$/.rspec">
313
- <provider selected="true" editor-type-id="text-editor">
314
- <state relative-caret-position="15">
315
- <caret line="1" selection-start-line="1" selection-end-line="1" />
316
- </state>
317
- </provider>
318
- </entry>
319
- <entry file="file://$PROJECT_DIR$/spec/spec_helper.rb">
320
- <provider selected="true" editor-type-id="text-editor">
321
- <state relative-caret-position="90">
322
- <caret line="6" selection-start-line="6" selection-end-line="6" />
323
- </state>
324
- </provider>
325
- </entry>
326
- <entry file="file://$PROJECT_DIR$/spec/activejob/traceable_spec.rb">
327
- <provider selected="true" editor-type-id="text-editor">
328
- <state relative-caret-position="1755">
329
- <caret line="117" column="26" selection-start-line="117" selection-start-column="26" selection-end-line="117" selection-end-column="26" />
330
- </state>
331
- </provider>
332
- </entry>
333
- <entry file="file://$PROJECT_DIR$/activejob-traceable.gemspec">
334
- <provider selected="true" editor-type-id="text-editor">
335
- <state relative-caret-position="435">
336
- <caret line="29" column="51" selection-start-line="29" selection-start-column="51" selection-end-line="29" selection-end-column="51" />
337
- </state>
338
- </provider>
339
- </entry>
340
- <entry file="file://$PROJECT_DIR$/README.md">
341
- <provider selected="true" editor-type-id="split-provider[text-editor;MarkdownPreviewEditor]">
342
- <state split_layout="SPLIT">
343
- <first_editor relative-caret-position="445">
344
- <caret line="54" lean-forward="true" selection-start-line="54" selection-end-line="54" />
345
- </first_editor>
346
- <second_editor>
347
- <markdownNavigatorState />
348
- </second_editor>
349
- </state>
350
- </provider>
351
- </entry>
352
- </component>
353
- </project>