sinject 0.1.0 → 0.2.0
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 +4 -4
- data/README.md +78 -11
- data/lib/sinject.rb +78 -8
- data/lib/sinject/version.rb +1 -1
- metadata +2 -11
- data/.DS_Store +0 -0
- data/.idea/.name +0 -1
- data/.idea/.rakeTasks +0 -7
- data/.idea/encodings.xml +0 -6
- data/.idea/misc.xml +0 -14
- data/.idea/modules.xml +0 -8
- data/.idea/sinject.iml +0 -29
- data/.idea/vcs.xml +0 -6
- data/.idea/workspace.xml +0 -415
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4af2aa3adf1d05d2aa82f6d0a1e7b84472ec5636
|
4
|
+
data.tar.gz: a8b340a1a844345f333a797d75dfd13b8b3422f7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ec9d058bdcd92b89f70b836f785ae44ac78ca753398d585f89447664d535fc3332bcb0c8559bc49601035cb3abc2ca99739510f17c0fa41f7e3ca027706e23e2
|
7
|
+
data.tar.gz: 8476d4e97aa02e22ffd58a9aecd97ae09093308dde230831e9268099391b3445c68e582ed912df605956155e2d38aead4a4a86e0637d0eef332425c849bddd3f
|
data/README.md
CHANGED
@@ -1,9 +1,7 @@
|
|
1
|
-
<<<<<<< HEAD
|
2
|
-
# Sinject
|
3
1
|
|
4
|
-
|
2
|
+
# Sinject
|
5
3
|
|
6
|
-
|
4
|
+
Welcome to Sinject! a simple dependency injection framework for ruby.
|
7
5
|
|
8
6
|
## Installation
|
9
7
|
|
@@ -23,7 +21,81 @@ Or install it yourself as:
|
|
23
21
|
|
24
22
|
## Usage
|
25
23
|
|
26
|
-
|
24
|
+
**Rails Setup**
|
25
|
+
|
26
|
+
If you're using rails then after you've installed the gem you need to create a *'dependencies.rb'* file within the *'/config/initializers'* directory of the rails application.
|
27
|
+
|
28
|
+
**Registering dependencies**
|
29
|
+
|
30
|
+
Dependency objects need to be registered with the container before use, to do so you need to configure the SinjectContainer from the *'dependencies.rb'* file:
|
31
|
+
|
32
|
+
#initialize the container
|
33
|
+
container = SinjectContainer.new
|
34
|
+
|
35
|
+
#register your dependencies
|
36
|
+
container.register(:cache_store, RedisCacheStore, true)
|
37
|
+
container.register(:country_repository, MySqlCountryRepository, false)
|
38
|
+
|
39
|
+
Dependencies can be registered with the container in 2 modes:
|
40
|
+
|
41
|
+
- **Single instance:** This mode ensures that only 1 instance is created for the registered dependency and that all requests to the container for that dependency return the same instance.
|
42
|
+
- **Multi instance:** This mode ensures that a new instance of the registered dependency is returned for each request received by the container.
|
43
|
+
|
44
|
+
The registration mode can be set by specifying **true** or **false** to the *'single_instance'* argument of the containers register method.
|
45
|
+
|
46
|
+
Dependencies that require custom initialization can be registered with an initialization block to creates the dependency, this allows you more control over how the dependency is create:
|
47
|
+
|
48
|
+
#register your dependencies
|
49
|
+
container.register(:cache_store, RedisCacheStore, true) do
|
50
|
+
instance = RedisCacheStore.new
|
51
|
+
instance.host = 'http://localhost'
|
52
|
+
instance.port = '6369'
|
53
|
+
instance
|
54
|
+
end
|
55
|
+
|
56
|
+
Dependencies with a custom initialization block must return an object of the registered dependency class name, if an unexpected instance is returned then Sinject will raise a `DependencyInitializeException`.
|
57
|
+
|
58
|
+
**Dependency Contracts**
|
59
|
+
|
60
|
+
Dependency contracts can be defined and used to validate registered dependencies are valid for the task they are being registered for.
|
61
|
+
|
62
|
+
To create a dependency contract you simply create a new class with empty methods for each of the methods that the dependency needs to respond to in order to fulfill it's role:
|
63
|
+
|
64
|
+
#initialize the container
|
65
|
+
class LoggerContract
|
66
|
+
def write
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
Then when registering a dependency for the role the contract is written for, you can assign the contract:
|
71
|
+
|
72
|
+
#register the dependency
|
73
|
+
container.register(:logger, FileLogger, false, LoggerContract)
|
74
|
+
|
75
|
+
Sinject will then validate that the registered dependency meets the requirements specified within the contract. If a dependency does not meet the contract requirements then a `DependencyContractException` is raised.
|
76
|
+
|
77
|
+
**Assigning dependencies**
|
78
|
+
|
79
|
+
To assign a dependency to an object you need to add the dependency attribute to the class and specify the symbol key that was used to register the dependency with the SinjectContainer:
|
80
|
+
|
81
|
+
class MySqlCountryRepository
|
82
|
+
|
83
|
+
dependency :cache_store
|
84
|
+
|
85
|
+
.....
|
86
|
+
end
|
87
|
+
|
88
|
+
class CountryController < ActionController::Base
|
89
|
+
|
90
|
+
dependency :country_repository
|
91
|
+
|
92
|
+
.....
|
93
|
+
end
|
94
|
+
|
95
|
+
Sinject will then inject the registered dependency to that object and it will be accessible via the dependency key:
|
96
|
+
|
97
|
+
country_controller.country_repository.cache_store
|
98
|
+
|
27
99
|
|
28
100
|
## Development
|
29
101
|
|
@@ -33,14 +105,9 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
|
|
33
105
|
|
34
106
|
## Contributing
|
35
107
|
|
36
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/
|
108
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/vaughanbrittonsage/sinject. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
|
37
109
|
|
38
110
|
|
39
111
|
## License
|
40
112
|
|
41
113
|
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
42
|
-
|
43
|
-
=======
|
44
|
-
# sinject
|
45
|
-
A simple dependency injection framework for ruby.
|
46
|
-
>>>>>>> 6a85e4cbf29c3874701332710a37936cff9e7105
|
data/lib/sinject.rb
CHANGED
@@ -31,21 +31,29 @@ class SinjectContainer
|
|
31
31
|
# Multi instance objects are a new instance that is created for each request.
|
32
32
|
#
|
33
33
|
# Example:
|
34
|
-
# >> SinjectContainer.instance.register :object_key, ClassName, true
|
34
|
+
# >> SinjectContainer.instance.register :object_key, ClassName, true, ContractName
|
35
35
|
#
|
36
36
|
# Arguments:
|
37
37
|
# key: (Symbol)
|
38
38
|
# class_name: (ClassName)
|
39
39
|
# single_instance: (Boolean)
|
40
|
-
def register(key,
|
40
|
+
def register(key, dependency_class_name, single_instance = false, contract_class_name = nil, &initialize_block)
|
41
|
+
|
42
|
+
#check if a contract has been specified
|
43
|
+
if contract_class_name != nil
|
44
|
+
#check if any contract methods are mising
|
45
|
+
missing_methods = validate_contract(dependency_class_name, contract_class_name)
|
46
|
+
if !missing_methods.empty?
|
47
|
+
raise DependencyContractException.new(missing_methods)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
41
51
|
item = ContainerItem.new
|
42
52
|
item.key = key
|
43
53
|
item.single_instance = single_instance
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
item.class_name = class_name
|
48
|
-
end
|
54
|
+
item.class_name = dependency_class_name
|
55
|
+
item.initialize_block = initialize_block
|
56
|
+
|
49
57
|
@store.push(item)
|
50
58
|
end
|
51
59
|
|
@@ -58,19 +66,57 @@ class SinjectContainer
|
|
58
66
|
# Arguments:
|
59
67
|
# key: (Symbol)
|
60
68
|
def get(key)
|
69
|
+
#get the dependency from the container store for the specified key
|
61
70
|
items = @store.select { |i| i.key == key}
|
62
71
|
if !items.empty?
|
63
72
|
item = items.first
|
73
|
+
|
74
|
+
#check if the item has been registered as a single instance item.
|
64
75
|
if item.single_instance == true
|
76
|
+
#check if the instance needs to be created
|
77
|
+
if item.instance == nil
|
78
|
+
item.instance = create_instance(item)
|
79
|
+
end
|
65
80
|
return item.instance
|
66
81
|
else
|
67
|
-
return item
|
82
|
+
return create_instance(item)
|
68
83
|
end
|
69
84
|
else
|
85
|
+
#no dependency has been registered for the specified key, attempt to convert the key into a class name and initialize it.
|
70
86
|
class_name = "#{key}".split('_').collect(&:capitalize).join
|
71
87
|
Object.const_get(class_name).new
|
72
88
|
end
|
73
89
|
end
|
90
|
+
|
91
|
+
private
|
92
|
+
|
93
|
+
def validate_contract(dependency_class, contract_class)
|
94
|
+
#get the methods defined for the contract
|
95
|
+
contract_methods = (contract_class.instance_methods - Object.instance_methods)
|
96
|
+
#get the methods defined for the dependency
|
97
|
+
dependency_methods = (dependency_class.instance_methods - Object.instance_methods)
|
98
|
+
#calculate any methods specified in the contract that are not specified in the dependency
|
99
|
+
contract_methods - dependency_methods
|
100
|
+
end
|
101
|
+
|
102
|
+
def create_instance(item)
|
103
|
+
instance = nil
|
104
|
+
|
105
|
+
#check if a custom initializer block has been specified
|
106
|
+
if item.initialize_block != nil
|
107
|
+
#call the block to create the dependency instance
|
108
|
+
instance = item.initialize_block.call
|
109
|
+
|
110
|
+
#verify the block created the expected dependency type
|
111
|
+
if !instance.is_a?(item.class_name)
|
112
|
+
raise DependencyInitializeException.new(item.class_name)
|
113
|
+
end
|
114
|
+
else
|
115
|
+
instance = item.class_name.new
|
116
|
+
end
|
117
|
+
|
118
|
+
instance
|
119
|
+
end
|
74
120
|
end
|
75
121
|
|
76
122
|
class ContainerItem
|
@@ -78,6 +124,7 @@ class ContainerItem
|
|
78
124
|
attr_accessor :instance
|
79
125
|
attr_accessor :single_instance
|
80
126
|
attr_accessor :class_name
|
127
|
+
attr_accessor :initialize_block
|
81
128
|
end
|
82
129
|
|
83
130
|
class Class
|
@@ -105,3 +152,26 @@ class Class
|
|
105
152
|
end
|
106
153
|
end
|
107
154
|
end
|
155
|
+
|
156
|
+
class DependencyContractException < StandardError
|
157
|
+
def initialize(methods)
|
158
|
+
@methods = methods
|
159
|
+
end
|
160
|
+
|
161
|
+
def to_s
|
162
|
+
method_names = @methods.join(', ')
|
163
|
+
"The following methods have not been implemented: '#{method_names}'"
|
164
|
+
end
|
165
|
+
end
|
166
|
+
|
167
|
+
class DependencyInitializeException < StandardError
|
168
|
+
|
169
|
+
def initialize(expected_type)
|
170
|
+
@expected_type = expected_type
|
171
|
+
end
|
172
|
+
|
173
|
+
def to_s
|
174
|
+
"The custom dependency initializer does not return an object of the expected type: '#{@expected_type}'"
|
175
|
+
end
|
176
|
+
|
177
|
+
end
|
data/lib/sinject/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sinject
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- vaughan britton
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-02-
|
11
|
+
date: 2016-02-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -59,16 +59,7 @@ executables: []
|
|
59
59
|
extensions: []
|
60
60
|
extra_rdoc_files: []
|
61
61
|
files:
|
62
|
-
- ".DS_Store"
|
63
62
|
- ".gitignore"
|
64
|
-
- ".idea/.name"
|
65
|
-
- ".idea/.rakeTasks"
|
66
|
-
- ".idea/encodings.xml"
|
67
|
-
- ".idea/misc.xml"
|
68
|
-
- ".idea/modules.xml"
|
69
|
-
- ".idea/sinject.iml"
|
70
|
-
- ".idea/vcs.xml"
|
71
|
-
- ".idea/workspace.xml"
|
72
63
|
- ".rspec"
|
73
64
|
- CODE_OF_CONDUCT.md
|
74
65
|
- Gemfile
|
data/.DS_Store
DELETED
Binary file
|
data/.idea/.name
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
sinject
|
data/.idea/.rakeTasks
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<Settings><!--This file was automatically generated by Ruby plugin.
|
3
|
-
You are allowed to:
|
4
|
-
1. Remove rake task
|
5
|
-
2. Add existing rake tasks
|
6
|
-
To add existing rake tasks automatically delete this file and reload the project.
|
7
|
-
--><RakeGroup description="" fullCmd="" taksId="rake"><RakeTask description="Build sinject-0.1.0.gem into the pkg directory" fullCmd="build" taksId="build" /><RakeTask description="Remove any temporary products" fullCmd="clean" taksId="clean" /><RakeTask description="Remove any generated files" fullCmd="clobber" taksId="clobber" /><RakeTask description="Build and install sinject-0.1.0.gem into system gems" fullCmd="install" taksId="install" /><RakeGroup description="" fullCmd="" taksId="install"><RakeTask description="Build and install sinject-0.1.0.gem into system gems without network access" fullCmd="install:local" taksId="local" /></RakeGroup><RakeTask description="Create tag v0.1.0 and build and push sinject-0.1.0.gem to Rubygems" fullCmd="release[remote]" taksId="release[remote]" /><RakeTask description="" fullCmd="default" taksId="default" /><RakeTask description="" fullCmd="release" taksId="release" /><RakeGroup description="" fullCmd="" taksId="release"><RakeTask description="" fullCmd="release:guard_clean" taksId="guard_clean" /><RakeTask description="" fullCmd="release:rubygem_push" taksId="rubygem_push" /><RakeTask description="" fullCmd="release:source_control_push" taksId="source_control_push" /></RakeGroup></RakeGroup></Settings>
|
data/.idea/encodings.xml
DELETED
data/.idea/misc.xml
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<project version="4">
|
3
|
-
<component name="ProjectLevelVcsManager" settingsEditedManually="false">
|
4
|
-
<OptionsSetting value="true" id="Add" />
|
5
|
-
<OptionsSetting value="true" id="Remove" />
|
6
|
-
<OptionsSetting value="true" id="Checkout" />
|
7
|
-
<OptionsSetting value="true" id="Update" />
|
8
|
-
<OptionsSetting value="true" id="Status" />
|
9
|
-
<OptionsSetting value="true" id="Edit" />
|
10
|
-
<ConfirmationsSetting value="0" id="Add" />
|
11
|
-
<ConfirmationsSetting value="0" id="Remove" />
|
12
|
-
</component>
|
13
|
-
<component name="ProjectRootManager" version="2" project-jdk-name="rbenv: 2.1.5" project-jdk-type="RUBY_SDK" />
|
14
|
-
</project>
|
data/.idea/modules.xml
DELETED
data/.idea/sinject.iml
DELETED
@@ -1,29 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<module type="RUBY_MODULE" version="4">
|
3
|
-
<component name="FacetManager">
|
4
|
-
<facet type="gem" name="Ruby Gem">
|
5
|
-
<configuration>
|
6
|
-
<option name="GEM_APP_ROOT_PATH" value="$MODULE_DIR$" />
|
7
|
-
<option name="GEM_APP_TEST_PATH" value="" />
|
8
|
-
<option name="GEM_APP_LIB_PATH" value="$MODULE_DIR$/lib" />
|
9
|
-
</configuration>
|
10
|
-
</facet>
|
11
|
-
</component>
|
12
|
-
<component name="NewModuleRootManager">
|
13
|
-
<content url="file://$MODULE_DIR$" />
|
14
|
-
<orderEntry type="inheritedJdk" />
|
15
|
-
<orderEntry type="sourceFolder" forTests="false" />
|
16
|
-
<orderEntry type="library" scope="PROVIDED" name="bundler (v1.11.2, rbenv: 2.1.5) [gem]" level="application" />
|
17
|
-
<orderEntry type="library" scope="PROVIDED" name="coderay (v1.1.0, rbenv: 2.1.5) [gem]" level="application" />
|
18
|
-
<orderEntry type="library" scope="PROVIDED" name="diff-lcs (v1.2.5, rbenv: 2.1.5) [gem]" level="application" />
|
19
|
-
<orderEntry type="library" scope="PROVIDED" name="method_source (v0.8.2, rbenv: 2.1.5) [gem]" level="application" />
|
20
|
-
<orderEntry type="library" scope="PROVIDED" name="pry (v0.10.3, rbenv: 2.1.5) [gem]" level="application" />
|
21
|
-
<orderEntry type="library" scope="PROVIDED" name="rake (v10.5.0, rbenv: 2.1.5) [gem]" level="application" />
|
22
|
-
<orderEntry type="library" scope="PROVIDED" name="rspec (v3.4.0, rbenv: 2.1.5) [gem]" level="application" />
|
23
|
-
<orderEntry type="library" scope="PROVIDED" name="rspec-core (v3.4.2, rbenv: 2.1.5) [gem]" level="application" />
|
24
|
-
<orderEntry type="library" scope="PROVIDED" name="rspec-expectations (v3.4.0, rbenv: 2.1.5) [gem]" level="application" />
|
25
|
-
<orderEntry type="library" scope="PROVIDED" name="rspec-mocks (v3.4.1, rbenv: 2.1.5) [gem]" level="application" />
|
26
|
-
<orderEntry type="library" scope="PROVIDED" name="rspec-support (v3.4.1, rbenv: 2.1.5) [gem]" level="application" />
|
27
|
-
<orderEntry type="library" scope="PROVIDED" name="slop (v3.6.0, rbenv: 2.1.5) [gem]" level="application" />
|
28
|
-
</component>
|
29
|
-
</module>
|
data/.idea/vcs.xml
DELETED
data/.idea/workspace.xml
DELETED
@@ -1,415 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<project version="4">
|
3
|
-
<component name="ChangeListManager">
|
4
|
-
<list default="true" id="452df2fe-1a7b-405f-8175-e26fd90fc202" name="Default" comment="" />
|
5
|
-
<ignored path="sinject.iws" />
|
6
|
-
<ignored path=".idea/workspace.xml" />
|
7
|
-
<ignored path=".idea/dataSources.local.xml" />
|
8
|
-
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
9
|
-
<option name="TRACKING_ENABLED" value="true" />
|
10
|
-
<option name="SHOW_DIALOG" value="false" />
|
11
|
-
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
12
|
-
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
13
|
-
<option name="LAST_RESOLUTION" value="IGNORE" />
|
14
|
-
</component>
|
15
|
-
<component name="ChangesViewManager" flattened_view="true" show_ignored="false" />
|
16
|
-
<component name="CreatePatchCommitExecutor">
|
17
|
-
<option name="PATCH_PATH" value="" />
|
18
|
-
</component>
|
19
|
-
<component name="FavoritesManager">
|
20
|
-
<favorites_list name="sinject" />
|
21
|
-
</component>
|
22
|
-
<component name="FileEditorManager">
|
23
|
-
<leaf>
|
24
|
-
<file leaf-file-name="sinject.gemspec" pinned="false" current-in-tab="false">
|
25
|
-
<entry file="file://$PROJECT_DIR$/sinject.gemspec">
|
26
|
-
<provider selected="true" editor-type-id="text-editor">
|
27
|
-
<state vertical-scroll-proportion="0.0">
|
28
|
-
<caret line="11" column="37" selection-start-line="11" selection-start-column="37" selection-end-line="11" selection-end-column="37" />
|
29
|
-
<folding />
|
30
|
-
</state>
|
31
|
-
</provider>
|
32
|
-
</entry>
|
33
|
-
</file>
|
34
|
-
<file leaf-file-name="CODE_OF_CONDUCT.md" pinned="false" current-in-tab="false">
|
35
|
-
<entry file="file://$PROJECT_DIR$/CODE_OF_CONDUCT.md">
|
36
|
-
<provider editor-type-id="com.intellij.database.editor.CsvTableFileEditorProvider">
|
37
|
-
<state />
|
38
|
-
</provider>
|
39
|
-
<provider selected="true" editor-type-id="text-editor">
|
40
|
-
<state vertical-scroll-proportion="-2.9464285">
|
41
|
-
<caret line="11" column="0" selection-start-line="11" selection-start-column="0" selection-end-line="11" selection-end-column="0" />
|
42
|
-
<folding />
|
43
|
-
</state>
|
44
|
-
</provider>
|
45
|
-
</entry>
|
46
|
-
</file>
|
47
|
-
<file leaf-file-name="sinject.rb" pinned="false" current-in-tab="true">
|
48
|
-
<entry file="file://$PROJECT_DIR$/lib/sinject.rb">
|
49
|
-
<provider selected="true" editor-type-id="text-editor">
|
50
|
-
<state vertical-scroll-proportion="0.26112187">
|
51
|
-
<caret line="18" column="25" selection-start-line="18" selection-start-column="25" selection-end-line="18" selection-end-column="25" />
|
52
|
-
<folding />
|
53
|
-
</state>
|
54
|
-
</provider>
|
55
|
-
</entry>
|
56
|
-
</file>
|
57
|
-
<file leaf-file-name="version.rb" pinned="false" current-in-tab="false">
|
58
|
-
<entry file="file://$PROJECT_DIR$/lib/sinject/version.rb">
|
59
|
-
<provider selected="true" editor-type-id="text-editor">
|
60
|
-
<state vertical-scroll-proportion="0.0">
|
61
|
-
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
62
|
-
<folding />
|
63
|
-
</state>
|
64
|
-
</provider>
|
65
|
-
</entry>
|
66
|
-
</file>
|
67
|
-
<file leaf-file-name="spec_helper.rb" pinned="false" current-in-tab="false">
|
68
|
-
<entry file="file://$PROJECT_DIR$/spec/spec_helper.rb">
|
69
|
-
<provider selected="true" editor-type-id="text-editor">
|
70
|
-
<state vertical-scroll-proportion="0.0">
|
71
|
-
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
72
|
-
<folding />
|
73
|
-
</state>
|
74
|
-
</provider>
|
75
|
-
</entry>
|
76
|
-
</file>
|
77
|
-
<file leaf-file-name="sinject_spec.rb" pinned="false" current-in-tab="false">
|
78
|
-
<entry file="file://$PROJECT_DIR$/spec/sinject/sinject_spec.rb">
|
79
|
-
<provider selected="true" editor-type-id="text-editor">
|
80
|
-
<state vertical-scroll-proportion="0.0">
|
81
|
-
<caret line="12" column="5" selection-start-line="12" selection-start-column="5" selection-end-line="12" selection-end-column="5" />
|
82
|
-
<folding />
|
83
|
-
</state>
|
84
|
-
</provider>
|
85
|
-
</entry>
|
86
|
-
</file>
|
87
|
-
<file leaf-file-name="test_classes.rb" pinned="false" current-in-tab="false">
|
88
|
-
<entry file="file://$PROJECT_DIR$/spec/sinject/test_objects/test_classes.rb">
|
89
|
-
<provider selected="true" editor-type-id="text-editor">
|
90
|
-
<state vertical-scroll-proportion="0.0">
|
91
|
-
<caret line="0" column="38" selection-start-line="0" selection-start-column="38" selection-end-line="0" selection-end-column="38" />
|
92
|
-
<folding />
|
93
|
-
</state>
|
94
|
-
</provider>
|
95
|
-
</entry>
|
96
|
-
</file>
|
97
|
-
<file leaf-file-name="Gemfile" pinned="false" current-in-tab="false">
|
98
|
-
<entry file="file://$PROJECT_DIR$/Gemfile">
|
99
|
-
<provider selected="true" editor-type-id="text-editor">
|
100
|
-
<state vertical-scroll-proportion="0.0">
|
101
|
-
<caret line="3" column="9" selection-start-line="3" selection-start-column="9" selection-end-line="3" selection-end-column="9" />
|
102
|
-
<folding />
|
103
|
-
</state>
|
104
|
-
</provider>
|
105
|
-
</entry>
|
106
|
-
</file>
|
107
|
-
</leaf>
|
108
|
-
</component>
|
109
|
-
<component name="Git.Settings">
|
110
|
-
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
111
|
-
</component>
|
112
|
-
<component name="IdeDocumentHistory">
|
113
|
-
<option name="CHANGED_PATHS">
|
114
|
-
<list>
|
115
|
-
<option value="$PROJECT_DIR$/Gemfile" />
|
116
|
-
<option value="$PROJECT_DIR$/spec/sinject/ioc_container_spec.rb" />
|
117
|
-
<option value="$PROJECT_DIR$/spec/sinject/test_objects/test_classes.rb" />
|
118
|
-
<option value="$PROJECT_DIR$/sinject.gemspec" />
|
119
|
-
<option value="$PROJECT_DIR$/lib/sinject.rb" />
|
120
|
-
<option value="$PROJECT_DIR$/spec/sinject/sinject_spec.rb" />
|
121
|
-
</list>
|
122
|
-
</option>
|
123
|
-
</component>
|
124
|
-
<component name="JsBuildToolGruntFileManager" detection-done="true" />
|
125
|
-
<component name="JsGulpfileManager">
|
126
|
-
<detection-done>true</detection-done>
|
127
|
-
</component>
|
128
|
-
<component name="NamedScopeManager">
|
129
|
-
<order />
|
130
|
-
</component>
|
131
|
-
<component name="ProjectFrameBounds">
|
132
|
-
<option name="x" value="2347" />
|
133
|
-
<option name="y" value="145" />
|
134
|
-
<option name="width" value="1920" />
|
135
|
-
<option name="height" value="1105" />
|
136
|
-
</component>
|
137
|
-
<component name="ProjectLevelVcsManager" settingsEditedManually="false">
|
138
|
-
<OptionsSetting value="true" id="Add" />
|
139
|
-
<OptionsSetting value="true" id="Remove" />
|
140
|
-
<OptionsSetting value="true" id="Checkout" />
|
141
|
-
<OptionsSetting value="true" id="Update" />
|
142
|
-
<OptionsSetting value="true" id="Status" />
|
143
|
-
<OptionsSetting value="true" id="Edit" />
|
144
|
-
<ConfirmationsSetting value="0" id="Add" />
|
145
|
-
<ConfirmationsSetting value="0" id="Remove" />
|
146
|
-
</component>
|
147
|
-
<component name="ProjectView">
|
148
|
-
<navigator currentView="ProjectPane" proportions="" version="1">
|
149
|
-
<flattenPackages />
|
150
|
-
<showMembers />
|
151
|
-
<showModules />
|
152
|
-
<showLibraryContents />
|
153
|
-
<hideEmptyPackages />
|
154
|
-
<abbreviatePackageNames />
|
155
|
-
<autoscrollToSource />
|
156
|
-
<autoscrollFromSource />
|
157
|
-
<sortByType />
|
158
|
-
</navigator>
|
159
|
-
<panes>
|
160
|
-
<pane id="Scratches" />
|
161
|
-
<pane id="Scope" />
|
162
|
-
<pane id="ProjectPane">
|
163
|
-
<subPane>
|
164
|
-
<PATH>
|
165
|
-
<PATH_ELEMENT>
|
166
|
-
<option name="myItemId" value="sinject" />
|
167
|
-
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
168
|
-
</PATH_ELEMENT>
|
169
|
-
</PATH>
|
170
|
-
<PATH>
|
171
|
-
<PATH_ELEMENT>
|
172
|
-
<option name="myItemId" value="sinject" />
|
173
|
-
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
174
|
-
</PATH_ELEMENT>
|
175
|
-
<PATH_ELEMENT>
|
176
|
-
<option name="myItemId" value="sinject" />
|
177
|
-
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
178
|
-
</PATH_ELEMENT>
|
179
|
-
</PATH>
|
180
|
-
<PATH>
|
181
|
-
<PATH_ELEMENT>
|
182
|
-
<option name="myItemId" value="sinject" />
|
183
|
-
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
184
|
-
</PATH_ELEMENT>
|
185
|
-
<PATH_ELEMENT>
|
186
|
-
<option name="myItemId" value="sinject" />
|
187
|
-
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
188
|
-
</PATH_ELEMENT>
|
189
|
-
<PATH_ELEMENT>
|
190
|
-
<option name="myItemId" value="lib" />
|
191
|
-
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
192
|
-
</PATH_ELEMENT>
|
193
|
-
</PATH>
|
194
|
-
</subPane>
|
195
|
-
</pane>
|
196
|
-
</panes>
|
197
|
-
</component>
|
198
|
-
<component name="PropertiesComponent">
|
199
|
-
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
|
200
|
-
<property name="WebServerToolWindowFactoryState" value="false" />
|
201
|
-
</component>
|
202
|
-
<component name="RunManager">
|
203
|
-
<configuration default="true" type="CucumberRunConfigurationType" factoryName="Cucumber">
|
204
|
-
<predefined_log_file id="RUBY_CUCUMBER" enabled="true" />
|
205
|
-
<module name="" />
|
206
|
-
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
|
207
|
-
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="" />
|
208
|
-
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
|
209
|
-
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
|
210
|
-
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
|
211
|
-
<envs />
|
212
|
-
<EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
|
213
|
-
<EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
|
214
|
-
<EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
|
215
|
-
<COVERAGE_PATTERN ENABLED="true">
|
216
|
-
<PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
|
217
|
-
</COVERAGE_PATTERN>
|
218
|
-
</EXTENSION>
|
219
|
-
<EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
|
220
|
-
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="**/*.feature" />
|
221
|
-
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
|
222
|
-
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
|
223
|
-
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="" />
|
224
|
-
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_TAGS_FILTER" VALUE="" />
|
225
|
-
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_NAME_FILTER" VALUE="" />
|
226
|
-
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="CUCUMBER_ARGS" VALUE="--color -r features" />
|
227
|
-
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_VERSION" VALUE="" />
|
228
|
-
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="FULL_BACKTRACE" VALUE="false" />
|
229
|
-
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="VERBOSE_OPTION" VALUE="false" />
|
230
|
-
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
|
231
|
-
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
|
232
|
-
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
|
233
|
-
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="CUCUMBER_RUNNER_PATH" VALUE="" />
|
234
|
-
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="USE_CUSTOM_RUNNER" VALUE="false" />
|
235
|
-
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="SETTINGS_VERSION" VALUE="2" />
|
236
|
-
<method />
|
237
|
-
</configuration>
|
238
|
-
<configuration default="true" type="JavascriptDebugType" factoryName="JavaScript Debug">
|
239
|
-
<method />
|
240
|
-
</configuration>
|
241
|
-
<configuration default="true" type="RSpecRunConfigurationType" factoryName="RSpec">
|
242
|
-
<predefined_log_file id="RUBY_RSPEC" enabled="true" />
|
243
|
-
<module name="" />
|
244
|
-
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
|
245
|
-
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="" />
|
246
|
-
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
|
247
|
-
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
|
248
|
-
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
|
249
|
-
<envs />
|
250
|
-
<EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
|
251
|
-
<EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
|
252
|
-
<EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
|
253
|
-
<COVERAGE_PATTERN ENABLED="true">
|
254
|
-
<PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
|
255
|
-
</COVERAGE_PATTERN>
|
256
|
-
</EXTENSION>
|
257
|
-
<EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
|
258
|
-
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
|
259
|
-
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="" />
|
260
|
-
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_RUNNER_PATH" VALUE="" />
|
261
|
-
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="**/*_spec.rb" />
|
262
|
-
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_EXAMPLE_NAME" VALUE="" />
|
263
|
-
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
|
264
|
-
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_ARGS" VALUE="" />
|
265
|
-
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_VERSION" VALUE="" />
|
266
|
-
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="USE_CUSTOM_SPEC_RUNNER" VALUE="false" />
|
267
|
-
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
|
268
|
-
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
|
269
|
-
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
|
270
|
-
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="FULL_BACKTRACE" VALUE="false" />
|
271
|
-
<method />
|
272
|
-
</configuration>
|
273
|
-
<configuration default="true" type="TestUnitRunConfigurationType" factoryName="Test::Unit/Shoulda/Minitest">
|
274
|
-
<predefined_log_file id="RUBY_TESTUNIT" enabled="true" />
|
275
|
-
<module name="" />
|
276
|
-
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
|
277
|
-
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="" />
|
278
|
-
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
|
279
|
-
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
|
280
|
-
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
|
281
|
-
<envs />
|
282
|
-
<EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
|
283
|
-
<EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
|
284
|
-
<EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
|
285
|
-
<COVERAGE_PATTERN ENABLED="true">
|
286
|
-
<PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
|
287
|
-
</COVERAGE_PATTERN>
|
288
|
-
</EXTENSION>
|
289
|
-
<EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
|
290
|
-
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
|
291
|
-
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="" />
|
292
|
-
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="" />
|
293
|
-
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_METHOD_NAME" VALUE="" />
|
294
|
-
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
|
295
|
-
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
|
296
|
-
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
|
297
|
-
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
|
298
|
-
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_OPTIONS" VALUE="" />
|
299
|
-
<method />
|
300
|
-
</configuration>
|
301
|
-
<configuration default="true" type="js.build_tools.gulp" factoryName="Gulp.js">
|
302
|
-
<method />
|
303
|
-
</configuration>
|
304
|
-
</component>
|
305
|
-
<component name="ShelveChangesManager" show_recycled="false" />
|
306
|
-
<component name="TaskManager">
|
307
|
-
<task active="true" id="Default" summary="Default task">
|
308
|
-
<changelist id="452df2fe-1a7b-405f-8175-e26fd90fc202" name="Default" comment="" />
|
309
|
-
<created>1454669530301</created>
|
310
|
-
<option name="number" value="Default" />
|
311
|
-
<updated>1454669530301</updated>
|
312
|
-
</task>
|
313
|
-
<servers />
|
314
|
-
</component>
|
315
|
-
<component name="ToolWindowManager">
|
316
|
-
<frame x="2347" y="145" width="1920" height="1105" extended-state="6" />
|
317
|
-
<editor active="true" />
|
318
|
-
<layout>
|
319
|
-
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
|
320
|
-
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
|
321
|
-
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32956687" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
322
|
-
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
|
323
|
-
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
324
|
-
<window_info id="Application Servers" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
|
325
|
-
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.25" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
|
326
|
-
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
327
|
-
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
328
|
-
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />
|
329
|
-
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />
|
330
|
-
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
|
331
|
-
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
|
332
|
-
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
333
|
-
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
334
|
-
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
335
|
-
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
|
336
|
-
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
|
337
|
-
</layout>
|
338
|
-
</component>
|
339
|
-
<component name="VcsContentAnnotationSettings">
|
340
|
-
<option name="myLimit" value="2678400000" />
|
341
|
-
</component>
|
342
|
-
<component name="XDebuggerManager">
|
343
|
-
<breakpoint-manager />
|
344
|
-
<watches-manager />
|
345
|
-
</component>
|
346
|
-
<component name="editorHistoryManager">
|
347
|
-
<entry file="file://$PROJECT_DIR$/Gemfile">
|
348
|
-
<provider selected="true" editor-type-id="text-editor">
|
349
|
-
<state vertical-scroll-proportion="0.0">
|
350
|
-
<caret line="3" column="9" selection-start-line="3" selection-start-column="9" selection-end-line="3" selection-end-column="9" />
|
351
|
-
<folding />
|
352
|
-
</state>
|
353
|
-
</provider>
|
354
|
-
</entry>
|
355
|
-
<entry file="file://$PROJECT_DIR$/lib/sinject/version.rb">
|
356
|
-
<provider selected="true" editor-type-id="text-editor">
|
357
|
-
<state vertical-scroll-proportion="0.0">
|
358
|
-
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
359
|
-
<folding />
|
360
|
-
</state>
|
361
|
-
</provider>
|
362
|
-
</entry>
|
363
|
-
<entry file="file://$PROJECT_DIR$/CODE_OF_CONDUCT.md">
|
364
|
-
<provider editor-type-id="com.intellij.database.editor.CsvTableFileEditorProvider">
|
365
|
-
<state />
|
366
|
-
</provider>
|
367
|
-
<provider selected="true" editor-type-id="text-editor">
|
368
|
-
<state vertical-scroll-proportion="-2.9464285">
|
369
|
-
<caret line="11" column="0" selection-start-line="11" selection-start-column="0" selection-end-line="11" selection-end-column="0" />
|
370
|
-
<folding />
|
371
|
-
</state>
|
372
|
-
</provider>
|
373
|
-
</entry>
|
374
|
-
<entry file="file://$PROJECT_DIR$/sinject.gemspec">
|
375
|
-
<provider selected="true" editor-type-id="text-editor">
|
376
|
-
<state vertical-scroll-proportion="0.0">
|
377
|
-
<caret line="11" column="37" selection-start-line="11" selection-start-column="37" selection-end-line="11" selection-end-column="37" />
|
378
|
-
<folding />
|
379
|
-
</state>
|
380
|
-
</provider>
|
381
|
-
</entry>
|
382
|
-
<entry file="file://$PROJECT_DIR$/spec/spec_helper.rb">
|
383
|
-
<provider selected="true" editor-type-id="text-editor">
|
384
|
-
<state vertical-scroll-proportion="0.0">
|
385
|
-
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
386
|
-
<folding />
|
387
|
-
</state>
|
388
|
-
</provider>
|
389
|
-
</entry>
|
390
|
-
<entry file="file://$PROJECT_DIR$/spec/sinject/test_objects/test_classes.rb">
|
391
|
-
<provider selected="true" editor-type-id="text-editor">
|
392
|
-
<state vertical-scroll-proportion="0.0">
|
393
|
-
<caret line="0" column="38" selection-start-line="0" selection-start-column="38" selection-end-line="0" selection-end-column="38" />
|
394
|
-
<folding />
|
395
|
-
</state>
|
396
|
-
</provider>
|
397
|
-
</entry>
|
398
|
-
<entry file="file://$PROJECT_DIR$/spec/sinject/sinject_spec.rb">
|
399
|
-
<provider selected="true" editor-type-id="text-editor">
|
400
|
-
<state vertical-scroll-proportion="0.0">
|
401
|
-
<caret line="12" column="5" selection-start-line="12" selection-start-column="5" selection-end-line="12" selection-end-column="5" />
|
402
|
-
<folding />
|
403
|
-
</state>
|
404
|
-
</provider>
|
405
|
-
</entry>
|
406
|
-
<entry file="file://$PROJECT_DIR$/lib/sinject.rb">
|
407
|
-
<provider selected="true" editor-type-id="text-editor">
|
408
|
-
<state vertical-scroll-proportion="0.26112187">
|
409
|
-
<caret line="18" column="25" selection-start-line="18" selection-start-column="25" selection-end-line="18" selection-end-column="25" />
|
410
|
-
<folding />
|
411
|
-
</state>
|
412
|
-
</provider>
|
413
|
-
</entry>
|
414
|
-
</component>
|
415
|
-
</project>
|