activejob-traceable 0.2.0 → 0.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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>