libcache 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a2606c35b38b5771dfb5a9a29d91672d2d3d016a
4
- data.tar.gz: d8813f052b2043e69ca42b8d7f18fa748a83c3fe
3
+ metadata.gz: 8e232a3aa9df9f7a70ad86b19452416d1e790f20
4
+ data.tar.gz: 5d1ee8e05c3ca4977852bdcb792e2aee3073c59a
5
5
  SHA512:
6
- metadata.gz: 37ab981d406628c118e30d7a08f8cd77da8f0d7fccf28427a7768467b435a71805236fc75d0e2062a8162018c1839ffa7da3e6382c5ce9dc0c14c8049330b032
7
- data.tar.gz: 6acb3338121bdcfdc8b2af7c20ba7cebbbdb3d178941e2a613a94170b735ef7c805694756330c87118c1df1ebc10aba4e671066f0008bae3611dcdd33a2e0971
6
+ metadata.gz: 95130eb3de3a114fe925477dd79156258d24b4bf4948a0f1d3ea11c40c45ae16ff310ded05ff8e7626765eb123ab2f826f2db5e4c6c92a36da712ddb32f6297d
7
+ data.tar.gz: f76c1f3acec13c3848aae0b7a5017ecf05f5de80cf81280850c5443e9309c987f3cc77757b566dc359f7c9361be4234314ec8f68a1dbb55499eb8882aa6f46f7
data/README.md CHANGED
@@ -1,74 +1,84 @@
1
- # Libcache [![Build Status](https://travis-ci.org/silk8192/libcache.svg?branch=master)](https://travis-ci.org/silk8192/libcache) [![Gem Version](https://badge.fury.io/rb/libcache.svg)](https://badge.fury.io/rb/libcache)
2
-
3
- A caching library that provides in-memory and file based cache
4
-
5
- ## Installation
6
-
7
- Add this line to your application's Gemfile:
8
-
9
- ```ruby
10
- gem 'libcache'
11
- ```
12
-
13
- And then execute:
14
-
15
- $ bundle
16
-
17
- Or install it yourself as:
18
-
19
- $ gem install libcache
20
-
21
- ## Usage
22
-
23
- For an in memory Cache with an expiry time of 3 seconds, store location at 'foo\bar', a max size of 500, and refresh method where 100 is added to the key (of course more sophisticated value retrieving operations will replace this method). Of course these additions are optional and configurable. The simplest form of an in-memory cache is ```CacheBuilder.with(Cache).build```
24
- ```ruby
25
-
26
- cache = CacheBuilder.with(Cache).set_expiry('3s').set_max(500).set_refresh(Proc.new { |key| key + 100 }).build
27
-
28
- cache.put(1, 5)
29
- cache.get(1) # will return 5
30
- sleep 4 # note that this is more than the expiry time
31
- cache.get(1) # will return 105 as the data has been refreshed
32
- cache.exists?(1) # will return true. if there is no set_refresh method provided then it will return false
33
-
34
- # delete all data on exit of program
35
- at_exit do
36
- cache.invalidateAll
37
- end
38
-
39
- ```
40
-
41
- For an file-based Cache with an expiry time of 3 seconds, store location at 'foo\bar', and refresh method where 100 is added to the key (of course more sophisticated value retrieving operations will replace this method). Of course these additions are optional and configurable. The only thing that is non-removable is the ```set_store``` method.
42
- ```ruby
43
- cache = CacheBuilder.with(FileCache).set_store('foo\bar').set_expiry('3s').set_expiry('3s').set_max(500).set_refresh(Proc.new { |key| key + 100 }).build
44
-
45
- cache.put(1, 5)
46
- cache.get(1) # will return 5
47
- sleep 4 # note that this is more than the expiry time
48
- cache.get(1) # will return 105 as the data has been refreshed
49
- cache.exists?(1) # will return true. if there is no set_refresh method provided then it will return false
50
-
51
-
52
- # delete all leftover files on exit of program
53
- at_exit do
54
- cache.invalidateAll
55
- end
56
- ```
57
-
58
- For more on what kind of strings are understood as times, [click here](https://github.com/jmettraux/rufus-scheduler/blob/two/README.rdoc#the-time-strings-understood-by-rufus-scheduler).
59
-
60
- ## Development
61
-
62
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
63
-
64
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
65
-
66
- ## Contributing
67
-
68
- Bug reports and pull requests are welcome on GitHub at https://github.com/silk8192/libcache. 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.
69
-
70
-
71
- ## License
72
-
73
- The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
74
-
1
+ # Libcache [![Build Status](https://travis-ci.org/silk8192/libcache.svg?branch=master)](https://travis-ci.org/silk8192/libcache) [![Gem Version](https://badge.fury.io/rb/libcache.svg)](https://badge.fury.io/rb/libcache)
2
+
3
+ A simple caching library that provides flexible and powerful caching features such as in-memory and file based caching similar to Guava's Caching system.
4
+
5
+ ## Features
6
+
7
+ * Supports in-memory cache
8
+ * Supports filesystem based cache
9
+ * Limiting the size of the cache through eviction based on a specified max size
10
+ * Allows for expiration behavior based on the time since an object was placed in the cache or when it was last accessed/updated
11
+ * Allows custom refresh functions for reloading expensive data once it has been discarded
12
+
13
+
14
+
15
+ ## Installation
16
+
17
+ Add this line to your application's Gemfile:
18
+
19
+ ```ruby
20
+ gem 'libcache'
21
+ ```
22
+
23
+ And then execute:
24
+
25
+ $ bundle
26
+
27
+ Or install it yourself as:
28
+
29
+ $ gem install libcache
30
+
31
+ ## Usage
32
+
33
+ For an in memory Cache with an expiry time of 3 seconds, store location at 'foo\bar', a max size of 500, and refresh method where 100 is added to the key (of course more sophisticated value retrieving operations will replace this method). Of course these additions are optional and configurable. The simplest form of an in-memory cache is ```CacheBuilder.with(Cache).build```
34
+ ```ruby
35
+
36
+ cache = CacheBuilder.with(Cache).set_expiry('3s').set_max(500).set_refresh(Proc.new { |key| key + 100 }).build
37
+
38
+ cache.put(1, 5)
39
+ cache.get(1) # will return 5
40
+ sleep 4 # note that this is more than the expiry time
41
+ cache.get(1) # will return 105 as the data has been refreshed
42
+ cache.exists?(1) # will return true. if there is no set_refresh method provided then it will return false
43
+
44
+ # delete all data on exit of program
45
+ at_exit do
46
+ cache.invalidateAll
47
+ end
48
+
49
+ ```
50
+
51
+ For an file-based Cache with an expiry time of 3 seconds, store location at 'foo\bar', and refresh method where 100 is added to the key (of course more sophisticated value retrieving operations will replace this method). Of course these additions are optional and configurable. The only thing that is non-removable is the ```set_store``` method.
52
+ ```ruby
53
+ cache = CacheBuilder.with(FileCache).set_store('foo\bar').set_expiry('3s').set_max(500).set_refresh(Proc.new { |key| key + 100 }).build
54
+
55
+ cache.put(1, 5)
56
+ cache.get(1) # will return 5
57
+ sleep 4 # note that this is more than the expiry time
58
+ cache.get(1) # will return 105 as the data has been refreshed
59
+ cache.exists?(1) # will return true. if there is no set_refresh method provided then it will return false
60
+
61
+
62
+ # delete all leftover files on exit of program
63
+ at_exit do
64
+ cache.invalidateAll
65
+ end
66
+ ```
67
+
68
+ For more on what kind of strings are understood as times, [click here](https://github.com/jmettraux/rufus-scheduler/blob/two/README.rdoc#the-time-strings-understood-by-rufus-scheduler).
69
+
70
+ ## Development
71
+
72
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
73
+
74
+ To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
75
+
76
+ ## Contributing
77
+
78
+ Bug reports and pull requests are welcome on GitHub at https://github.com/silk8192/libcache. 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.
79
+
80
+
81
+ ## License
82
+
83
+ The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
84
+
@@ -1,3 +1,5 @@
1
+ require 'digest'
2
+
1
3
  require_relative 'cache'
2
4
 
3
5
  class FileCache < Cache
@@ -8,14 +10,19 @@ class FileCache < Cache
8
10
 
9
11
  def create_store
10
12
  @cache = Hash.new
13
+ @keys = Hash.new
11
14
  if store == nil
12
15
  raise 'Store path is missing!'
13
16
  end
14
17
  end
15
18
 
16
19
  def put(key, value)
20
+ if ((key =~ /\A[a-zA-Z0-9_-]+\z/) != 0) || !(key.instance_of? String)
21
+ raise 'Invalid key value used!'
22
+ end
23
+ @keys[key] = Digest::MD5.hexdigest(key) + Time.now.to_i.to_s
17
24
  @cache[key] = value
18
- File.open(File.join(store, key.to_s), 'w') do |f|
25
+ File.open(File.join(store, @keys[key]), 'w') do |f|
19
26
  f.write(value)
20
27
  end
21
28
  @scheduler.in expiry_time, :blocking => true do
@@ -25,12 +32,12 @@ class FileCache < Cache
25
32
 
26
33
  def get(key)
27
34
  refresh
28
- return File.read(File.join(store, key.to_s))
35
+ return File.read(File.join(store, @keys[key]))
29
36
  end
30
37
 
31
38
  def invalidate(key)
32
39
  super
33
- File.delete(File.join(store, key.to_s))
40
+ File.delete(File.join(store, @keys[key]))
34
41
  end
35
42
 
36
43
  def invalidateAll
@@ -1,3 +1,3 @@
1
1
  module Libcache
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libcache
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - silk8192
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-01-14 00:00:00.000000000 Z
11
+ date: 2017-01-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -57,25 +57,17 @@ description: 'A caching library that provides an in-memory and file based cache
57
57
  to use: https://github.com/silk8192/libcache'
58
58
  email:
59
59
  - silk8192@gmail.com
60
- executables:
61
- - libcache
60
+ executables: []
62
61
  extensions: []
63
62
  extra_rdoc_files: []
64
63
  files:
65
64
  - ".gitignore"
66
- - ".idea/libcache.iml"
67
- - ".idea/misc.xml"
68
- - ".idea/modules.xml"
69
- - ".idea/workspace.xml"
70
65
  - ".travis.yml"
71
66
  - CODE_OF_CONDUCT.md
72
67
  - Gemfile
73
68
  - LICENSE.txt
74
69
  - README.md
75
70
  - Rakefile
76
- - bin/console
77
- - bin/setup
78
- - exe/libcache
79
71
  - lib/libcache.rb
80
72
  - lib/libcache/cache.rb
81
73
  - lib/libcache/cache_builder.rb
data/.idea/libcache.iml DELETED
@@ -1,31 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <module type="RUBY_MODULE" version="4">
3
- <component name="ModuleRunConfigurationManager">
4
- <configuration default="false" name="libcache" type="RubyRunConfigurationType" factoryName="Ruby" temporary="true">
5
- <module name="libcache" />
6
- <RUBY_RUN_CONFIG NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
7
- <RUBY_RUN_CONFIG NAME="WORK DIR" VALUE="$MODULE_DIR$/exe" />
8
- <RUBY_RUN_CONFIG NAME="SHOULD_USE_SDK" VALUE="false" />
9
- <RUBY_RUN_CONFIG NAME="ALTERN_SDK_NAME" VALUE="" />
10
- <RUBY_RUN_CONFIG NAME="myPassParentEnvs" VALUE="true" />
11
- <envs />
12
- <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
13
- <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
14
- <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov" />
15
- <RUBY_RUN_CONFIG NAME="SCRIPT_PATH" VALUE="$MODULE_DIR$/exe/libcache" />
16
- <RUBY_RUN_CONFIG NAME="SCRIPT_ARGS" VALUE="&quot;C:\Users\Salah\cache\gfunk&quot;" />
17
- <method />
18
- </configuration>
19
- </component>
20
- <component name="NewModuleRootManager">
21
- <content url="file://$MODULE_DIR$" />
22
- <orderEntry type="inheritedJdk" />
23
- <orderEntry type="sourceFolder" forTests="false" />
24
- <orderEntry type="library" scope="PROVIDED" name="bundler (v1.13.7, ruby-2.3.3-p222) [gem]" level="application" />
25
- <orderEntry type="library" scope="PROVIDED" name="minitest (v5.8.5, ruby-2.3.3-p222) [gem]" level="application" />
26
- <orderEntry type="library" scope="PROVIDED" name="rake (v10.4.2, ruby-2.3.3-p222) [gem]" level="application" />
27
- <orderEntry type="library" scope="PROVIDED" name="rufus-scheduler (v3.3.2, ruby-2.3.3-p222) [gem]" level="application" />
28
- <orderEntry type="library" scope="PROVIDED" name="thread_safe (v0.3.5, ruby-2.3.3-p222) [gem]" level="application" />
29
- <orderEntry type="library" scope="PROVIDED" name="tzinfo (v1.2.2, ruby-2.3.3-p222) [gem]" level="application" />
30
- </component>
31
- </module>
data/.idea/misc.xml DELETED
@@ -1,4 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectRootManager" version="2" project-jdk-name="ruby-2.3.3-p222" project-jdk-type="RUBY_SDK" />
4
- </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/libcache.iml" filepath="$PROJECT_DIR$/.idea/libcache.iml" />
6
- </modules>
7
- </component>
8
- </project>
data/.idea/workspace.xml DELETED
@@ -1,704 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ChangeListManager">
4
- <list default="true" id="fad7315f-a081-431c-8fbc-46af4841158f" name="Default" comment="Max size functionality now works">
5
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libcache.iml" />
6
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/misc.xml" />
7
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/modules.xml" />
8
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
9
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/bin/console" />
10
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/bin/setup" />
11
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/exe/libcache" />
12
- </list>
13
- <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
14
- <option name="TRACKING_ENABLED" value="true" />
15
- <option name="SHOW_DIALOG" value="false" />
16
- <option name="HIGHLIGHT_CONFLICTS" value="true" />
17
- <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
18
- <option name="LAST_RESOLUTION" value="IGNORE" />
19
- </component>
20
- <component name="CoverageDataManager">
21
- <SUITE FILE_PATH="coverage/libcache@libcache.coverage" NAME="libcache Coverage Results" MODIFIED="1484394784716" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="rcov" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/exe" MODULE_NAME="libcache" />
22
- </component>
23
- <component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
24
- <component name="FileEditorManager">
25
- <leaf>
26
- <file leaf-file-name="version.rb" pinned="false" current-in-tab="true">
27
- <entry file="file://$PROJECT_DIR$/lib/libcache/version.rb">
28
- <provider selected="true" editor-type-id="text-editor">
29
- <state relative-caret-position="32">
30
- <caret line="2" column="3" lean-forward="true" selection-start-line="2" selection-start-column="3" selection-end-line="2" selection-end-column="3" />
31
- <folding />
32
- </state>
33
- </provider>
34
- </entry>
35
- </file>
36
- <file leaf-file-name="cache_builder.rb" pinned="false" current-in-tab="false">
37
- <entry file="file://$PROJECT_DIR$/lib/libcache/cache_builder.rb">
38
- <provider selected="true" editor-type-id="text-editor">
39
- <state relative-caret-position="0">
40
- <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
41
- <folding />
42
- </state>
43
- </provider>
44
- </entry>
45
- </file>
46
- <file leaf-file-name="libcache" pinned="false" current-in-tab="false">
47
- <entry file="file://$PROJECT_DIR$/exe/libcache">
48
- <provider selected="true" editor-type-id="text-editor">
49
- <state relative-caret-position="80">
50
- <caret line="5" column="81" lean-forward="true" selection-start-line="5" selection-start-column="68" selection-end-line="5" selection-end-column="81" />
51
- <folding />
52
- </state>
53
- </provider>
54
- </entry>
55
- </file>
56
- <file leaf-file-name="Rakefile" pinned="false" current-in-tab="false">
57
- <entry file="file://$PROJECT_DIR$/Rakefile">
58
- <provider selected="true" editor-type-id="text-editor">
59
- <state relative-caret-position="0">
60
- <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
61
- <folding />
62
- </state>
63
- </provider>
64
- </entry>
65
- </file>
66
- <file leaf-file-name="Gemfile" pinned="false" current-in-tab="false">
67
- <entry file="file://$PROJECT_DIR$/Gemfile">
68
- <provider selected="true" editor-type-id="text-editor">
69
- <state relative-caret-position="48">
70
- <caret line="3" column="7" lean-forward="false" selection-start-line="3" selection-start-column="7" selection-end-line="3" selection-end-column="7" />
71
- <folding />
72
- </state>
73
- </provider>
74
- </entry>
75
- </file>
76
- <file leaf-file-name="libcache.gemspec" pinned="false" current-in-tab="false">
77
- <entry file="file://$PROJECT_DIR$/libcache.gemspec">
78
- <provider selected="true" editor-type-id="text-editor">
79
- <state relative-caret-position="259">
80
- <caret line="17" column="39" lean-forward="true" selection-start-line="17" selection-start-column="39" selection-end-line="17" selection-end-column="39" />
81
- <folding />
82
- </state>
83
- </provider>
84
- </entry>
85
- </file>
86
- <file leaf-file-name="cache.rb" pinned="false" current-in-tab="false">
87
- <entry file="file://$PROJECT_DIR$/lib/libcache/cache.rb">
88
- <provider selected="true" editor-type-id="text-editor">
89
- <state relative-caret-position="112">
90
- <caret line="7" column="16" lean-forward="true" selection-start-line="7" selection-start-column="16" selection-end-line="7" selection-end-column="16" />
91
- <folding />
92
- </state>
93
- </provider>
94
- </entry>
95
- </file>
96
- <file leaf-file-name="file_cache.rb" pinned="false" current-in-tab="false">
97
- <entry file="file://$PROJECT_DIR$/lib/libcache/file_cache.rb">
98
- <provider selected="true" editor-type-id="text-editor">
99
- <state relative-caret-position="272">
100
- <caret line="17" column="53" lean-forward="true" selection-start-line="17" selection-start-column="53" selection-end-line="17" selection-end-column="53" />
101
- <folding />
102
- </state>
103
- </provider>
104
- </entry>
105
- </file>
106
- <file leaf-file-name="README.md" pinned="false" current-in-tab="false">
107
- <entry file="file://$PROJECT_DIR$/README.md">
108
- <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
109
- <state split_layout="FIRST">
110
- <first_editor relative-caret-position="284">
111
- <caret line="49" column="0" lean-forward="true" selection-start-line="49" selection-start-column="0" selection-end-line="49" selection-end-column="0" />
112
- <folding>
113
- <marker date="1484395044567" expanded="true" signature="944:963" ph="{ ... }" />
114
- <marker date="1484395044567" expanded="true" signature="1084:1276" ph="##..." />
115
- <marker date="1484395044567" expanded="true" signature="1150:1276" ph="##..." />
116
- <marker date="1484395044567" expanded="true" signature="1285:1313" ph="do ... end" />
117
- <marker date="1484395044567" expanded="true" signature="1801:1820" ph="{ ... }" />
118
- <marker date="1484395044567" expanded="true" signature="1941:2144" ph="##..." />
119
- <marker date="1484395044567" expanded="true" signature="2007:2144" ph="##..." />
120
- <marker date="1484395044567" expanded="true" signature="2153:2181" ph="do ... end" />
121
- </folding>
122
- </first_editor>
123
- <second_editor />
124
- </state>
125
- </provider>
126
- </entry>
127
- </file>
128
- </leaf>
129
- </component>
130
- <component name="FileTemplateManagerImpl">
131
- <option name="RECENT_TEMPLATES">
132
- <list>
133
- <option value="Ruby Class Template" />
134
- </list>
135
- </option>
136
- </component>
137
- <component name="Git.Settings">
138
- <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
139
- </component>
140
- <component name="IdeDocumentHistory">
141
- <option name="CHANGED_PATHS">
142
- <list>
143
- <option value="$PROJECT_DIR$/Gemfile" />
144
- <option value="$PROJECT_DIR$/test/libcache_test.rb" />
145
- <option value="$PROJECT_DIR$/lib/libcache/file_cache.rb" />
146
- <option value="$PROJECT_DIR$/lib/libcache/cache_builder.rb" />
147
- <option value="$PROJECT_DIR$/lib/libcache/cache.rb" />
148
- <option value="$PROJECT_DIR$/libcache.gemspec" />
149
- <option value="$PROJECT_DIR$/exe/libcache" />
150
- <option value="$PROJECT_DIR$/README.md" />
151
- <option value="$PROJECT_DIR$/lib/libcache/version.rb" />
152
- </list>
153
- </option>
154
- </component>
155
- <component name="JsBuildToolGruntFileManager" detection-done="true" sorting="DEFINITION_ORDER" />
156
- <component name="JsBuildToolPackageJson" detection-done="true" sorting="DEFINITION_ORDER" />
157
- <component name="JsGulpfileManager">
158
- <detection-done>true</detection-done>
159
- <sorting>DEFINITION_ORDER</sorting>
160
- </component>
161
- <component name="ProjectFrameBounds">
162
- <option name="x" value="-8" />
163
- <option name="y" value="-8" />
164
- <option name="width" value="1382" />
165
- <option name="height" value="744" />
166
- </component>
167
- <component name="ProjectLevelVcsManager" settingsEditedManually="true" />
168
- <component name="ProjectView">
169
- <navigator currentView="ProjectPane" proportions="" version="1">
170
- <flattenPackages />
171
- <showMembers />
172
- <showModules />
173
- <showLibraryContents />
174
- <hideEmptyPackages />
175
- <abbreviatePackageNames />
176
- <autoscrollToSource />
177
- <autoscrollFromSource />
178
- <sortByType />
179
- <manualOrder />
180
- <foldersAlwaysOnTop value="true" />
181
- </navigator>
182
- <panes>
183
- <pane id="ProjectPane">
184
- <subPane>
185
- <PATH>
186
- <PATH_ELEMENT>
187
- <option name="myItemId" value="libcache" />
188
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
189
- </PATH_ELEMENT>
190
- <PATH_ELEMENT>
191
- <option name="myItemId" value="libcache" />
192
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
193
- </PATH_ELEMENT>
194
- </PATH>
195
- <PATH>
196
- <PATH_ELEMENT>
197
- <option name="myItemId" value="libcache" />
198
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
199
- </PATH_ELEMENT>
200
- <PATH_ELEMENT>
201
- <option name="myItemId" value="libcache" />
202
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
203
- </PATH_ELEMENT>
204
- <PATH_ELEMENT>
205
- <option name="myItemId" value="test" />
206
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
207
- </PATH_ELEMENT>
208
- </PATH>
209
- <PATH>
210
- <PATH_ELEMENT>
211
- <option name="myItemId" value="libcache" />
212
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
213
- </PATH_ELEMENT>
214
- <PATH_ELEMENT>
215
- <option name="myItemId" value="libcache" />
216
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
217
- </PATH_ELEMENT>
218
- <PATH_ELEMENT>
219
- <option name="myItemId" value="lib" />
220
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
221
- </PATH_ELEMENT>
222
- </PATH>
223
- <PATH>
224
- <PATH_ELEMENT>
225
- <option name="myItemId" value="libcache" />
226
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
227
- </PATH_ELEMENT>
228
- <PATH_ELEMENT>
229
- <option name="myItemId" value="libcache" />
230
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
231
- </PATH_ELEMENT>
232
- <PATH_ELEMENT>
233
- <option name="myItemId" value="lib" />
234
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
235
- </PATH_ELEMENT>
236
- <PATH_ELEMENT>
237
- <option name="myItemId" value="libcache" />
238
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
239
- </PATH_ELEMENT>
240
- </PATH>
241
- <PATH>
242
- <PATH_ELEMENT>
243
- <option name="myItemId" value="libcache" />
244
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
245
- </PATH_ELEMENT>
246
- <PATH_ELEMENT>
247
- <option name="myItemId" value="libcache" />
248
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
249
- </PATH_ELEMENT>
250
- <PATH_ELEMENT>
251
- <option name="myItemId" value="exe" />
252
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
253
- </PATH_ELEMENT>
254
- </PATH>
255
- </subPane>
256
- </pane>
257
- <pane id="Scratches" />
258
- <pane id="Scope" />
259
- </panes>
260
- </component>
261
- <component name="PropertiesComponent">
262
- <property name="settings.editor.selected.configurable" value="org.jetbrains.plugins.ruby.settings.RubyActiveModuleSdkConfigurable" />
263
- <property name="WebServerToolWindowFactoryState" value="false" />
264
- <property name="node.js.path.for.package.jscs" value="project" />
265
- <property name="nodejs_interpreter_path" value="C:/Program Files/nodejs/node" />
266
- <property name="node.js.selected.package.jscs" value="" />
267
- <property name="node.js.path.for.package.eslint" value="project" />
268
- <property name="node.js.selected.package.eslint" value="" />
269
- </component>
270
- <component name="RunManager" selected="Ruby.libcache">
271
- <configuration default="false" name="libcache" type="RubyRunConfigurationType" factoryName="Ruby" temporary="true">
272
- <module name="libcache" />
273
- <RUBY_RUN_CONFIG NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
274
- <RUBY_RUN_CONFIG NAME="WORK DIR" VALUE="$MODULE_DIR$/exe" />
275
- <RUBY_RUN_CONFIG NAME="SHOULD_USE_SDK" VALUE="false" />
276
- <RUBY_RUN_CONFIG NAME="ALTERN_SDK_NAME" VALUE="" />
277
- <RUBY_RUN_CONFIG NAME="myPassParentEnvs" VALUE="true" />
278
- <envs />
279
- <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
280
- <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
281
- <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov" />
282
- <RUBY_RUN_CONFIG NAME="SCRIPT_PATH" VALUE="$MODULE_DIR$/exe/libcache" />
283
- <RUBY_RUN_CONFIG NAME="SCRIPT_ARGS" VALUE="&quot;C:\Users\Salah\cache\gfunk&quot;" />
284
- <method />
285
- </configuration>
286
- <configuration default="true" type="CucumberRunConfigurationType" factoryName="Cucumber">
287
- <predefined_log_file id="RUBY_CUCUMBER" enabled="true" />
288
- <module name="" />
289
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
290
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="" />
291
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
292
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
293
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
294
- <envs />
295
- <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
296
- <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
297
- <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov" />
298
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="**/*.feature" />
299
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
300
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
301
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="" />
302
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_TAGS_FILTER" VALUE="" />
303
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_NAME_FILTER" VALUE="" />
304
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="CUCUMBER_ARGS" VALUE="--color -r features" />
305
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_VERSION" VALUE="" />
306
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="FULL_BACKTRACE" VALUE="false" />
307
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="VERBOSE_OPTION" VALUE="false" />
308
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
309
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
310
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
311
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="CUCUMBER_RUNNER_PATH" VALUE="" />
312
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="USE_CUSTOM_RUNNER" VALUE="false" />
313
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="SETTINGS_VERSION" VALUE="2" />
314
- <method />
315
- </configuration>
316
- <configuration default="true" type="JavaScriptTestRunnerProtractor" factoryName="Protractor">
317
- <config-file value="" />
318
- <node-interpreter value="project" />
319
- <envs />
320
- <method />
321
- </configuration>
322
- <configuration default="true" type="JavascriptDebugType" factoryName="JavaScript Debug">
323
- <method />
324
- </configuration>
325
- <configuration default="true" type="RSpecRunConfigurationType" factoryName="RSpec">
326
- <predefined_log_file id="RUBY_RSPEC" enabled="true" />
327
- <module name="" />
328
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
329
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="" />
330
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
331
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
332
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
333
- <envs />
334
- <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
335
- <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
336
- <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov" />
337
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
338
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="" />
339
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_RUNNER_PATH" VALUE="" />
340
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="**/*_spec.rb" />
341
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_EXAMPLE_NAME" VALUE="" />
342
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
343
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_ARGS" VALUE="" />
344
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_VERSION" VALUE="" />
345
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="USE_CUSTOM_SPEC_RUNNER" VALUE="false" />
346
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
347
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
348
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
349
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="FULL_BACKTRACE" VALUE="false" />
350
- <method />
351
- </configuration>
352
- <configuration default="true" type="RubyRunConfigurationType" factoryName="Ruby">
353
- <module name="" />
354
- <RUBY_RUN_CONFIG NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
355
- <RUBY_RUN_CONFIG NAME="WORK DIR" VALUE="" />
356
- <RUBY_RUN_CONFIG NAME="SHOULD_USE_SDK" VALUE="false" />
357
- <RUBY_RUN_CONFIG NAME="ALTERN_SDK_NAME" VALUE="" />
358
- <RUBY_RUN_CONFIG NAME="myPassParentEnvs" VALUE="true" />
359
- <envs />
360
- <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
361
- <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
362
- <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov" />
363
- <RUBY_RUN_CONFIG NAME="SCRIPT_PATH" VALUE="" />
364
- <RUBY_RUN_CONFIG NAME="SCRIPT_ARGS" VALUE="" />
365
- <method />
366
- </configuration>
367
- <configuration default="true" type="TestUnitRunConfigurationType" factoryName="Test::Unit/Shoulda/Minitest">
368
- <predefined_log_file id="RUBY_TESTUNIT" enabled="true" />
369
- <module name="" />
370
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
371
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="" />
372
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
373
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
374
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
375
- <envs />
376
- <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
377
- <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
378
- <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov" />
379
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
380
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="" />
381
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="" />
382
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_METHOD_NAME" VALUE="" />
383
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
384
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
385
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
386
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
387
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_OPTIONS" VALUE="" />
388
- <method />
389
- </configuration>
390
- <configuration default="true" type="js.build_tools.gulp" factoryName="Gulp.js">
391
- <method />
392
- </configuration>
393
- <configuration default="true" type="js.build_tools.npm" factoryName="npm">
394
- <command value="run" />
395
- <scripts />
396
- <node-interpreter value="project" />
397
- <envs />
398
- <method />
399
- </configuration>
400
- <list size="1">
401
- <item index="0" class="java.lang.String" itemvalue="Ruby.libcache" />
402
- </list>
403
- <recent_temporary>
404
- <list size="1">
405
- <item index="0" class="java.lang.String" itemvalue="Ruby.libcache" />
406
- </list>
407
- </recent_temporary>
408
- </component>
409
- <component name="ShelveChangesManager" show_recycled="false">
410
- <option name="remove_strategy" value="false" />
411
- </component>
412
- <component name="SpringUtil" SPRING_PRE_LOADER_OPTION="true" />
413
- <component name="TaskManager">
414
- <task active="true" id="Default" summary="Default task">
415
- <changelist id="fad7315f-a081-431c-8fbc-46af4841158f" name="Default" comment="" />
416
- <created>1484342488609</created>
417
- <option name="number" value="Default" />
418
- <option name="presentableId" value="Default" />
419
- <updated>1484342488609</updated>
420
- <workItem from="1484342491002" duration="16293000" />
421
- </task>
422
- <task id="LOCAL-00001" summary="Initial commit">
423
- <created>1484352837659</created>
424
- <option name="number" value="00001" />
425
- <option name="presentableId" value="LOCAL-00001" />
426
- <option name="project" value="LOCAL" />
427
- <updated>1484352837659</updated>
428
- </task>
429
- <task id="LOCAL-00002" summary="Update links">
430
- <created>1484353079924</created>
431
- <option name="number" value="00002" />
432
- <option name="presentableId" value="LOCAL-00002" />
433
- <option name="project" value="LOCAL" />
434
- <updated>1484353079924</updated>
435
- </task>
436
- <task id="LOCAL-00003" summary="Updated readme">
437
- <created>1484353693802</created>
438
- <option name="number" value="00003" />
439
- <option name="presentableId" value="LOCAL-00003" />
440
- <option name="project" value="LOCAL" />
441
- <updated>1484353693802</updated>
442
- </task>
443
- <task id="LOCAL-00004" summary="Fixed typos">
444
- <created>1484353976280</created>
445
- <option name="number" value="00004" />
446
- <option name="presentableId" value="LOCAL-00004" />
447
- <option name="project" value="LOCAL" />
448
- <updated>1484353976281</updated>
449
- </task>
450
- <task id="LOCAL-00005" summary="Completed deployment to Rubygems.org">
451
- <created>1484354716135</created>
452
- <option name="number" value="00005" />
453
- <option name="presentableId" value="LOCAL-00005" />
454
- <option name="project" value="LOCAL" />
455
- <updated>1484354716135</updated>
456
- </task>
457
- <task id="LOCAL-00006" summary="Removed useless test">
458
- <created>1484354778910</created>
459
- <option name="number" value="00006" />
460
- <option name="presentableId" value="LOCAL-00006" />
461
- <option name="project" value="LOCAL" />
462
- <updated>1484354778910</updated>
463
- </task>
464
- <task id="LOCAL-00007" summary="Added travis badge">
465
- <created>1484354873007</created>
466
- <option name="number" value="00007" />
467
- <option name="presentableId" value="LOCAL-00007" />
468
- <option name="project" value="LOCAL" />
469
- <updated>1484354873007</updated>
470
- </task>
471
- <task id="LOCAL-00008" summary="Reduced some code redundancy and introduced max_size and exists functionality">
472
- <created>1484388395659</created>
473
- <option name="number" value="00008" />
474
- <option name="presentableId" value="LOCAL-00008" />
475
- <option name="project" value="LOCAL" />
476
- <updated>1484388395659</updated>
477
- </task>
478
- <task id="LOCAL-00009" summary="Max size functionality now works">
479
- <created>1484390193329</created>
480
- <option name="number" value="00009" />
481
- <option name="presentableId" value="LOCAL-00009" />
482
- <option name="project" value="LOCAL" />
483
- <updated>1484390193329</updated>
484
- </task>
485
- <task id="LOCAL-00010" summary="Made made size opitonal">
486
- <created>1484394646216</created>
487
- <option name="number" value="00010" />
488
- <option name="presentableId" value="LOCAL-00010" />
489
- <option name="project" value="LOCAL" />
490
- <updated>1484394646216</updated>
491
- </task>
492
- <task id="LOCAL-00011" summary="Updated description for gemspec">
493
- <created>1484394749138</created>
494
- <option name="number" value="00011" />
495
- <option name="presentableId" value="LOCAL-00011" />
496
- <option name="project" value="LOCAL" />
497
- <updated>1484394749138</updated>
498
- </task>
499
- <task id="LOCAL-00012" summary="Updated readme to better describe functionality">
500
- <created>1484395061383</created>
501
- <option name="number" value="00012" />
502
- <option name="presentableId" value="LOCAL-00012" />
503
- <option name="project" value="LOCAL" />
504
- <updated>1484395061383</updated>
505
- </task>
506
- <task id="LOCAL-00013" summary="Updated version to 0.2.0">
507
- <created>1484395089315</created>
508
- <option name="number" value="00013" />
509
- <option name="presentableId" value="LOCAL-00013" />
510
- <option name="project" value="LOCAL" />
511
- <updated>1484395089315</updated>
512
- </task>
513
- <option name="localTasksCounter" value="14" />
514
- <servers />
515
- </component>
516
- <component name="TimeTrackingManager">
517
- <option name="totallyTimeSpent" value="16293000" />
518
- </component>
519
- <component name="ToolWindowManager">
520
- <frame x="-8" y="-8" width="1382" height="744" extended-state="6" />
521
- <layout>
522
- <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.24743778" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
523
- <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
524
- <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />
525
- <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
526
- <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
527
- <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33438987" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
528
- <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
529
- <window_info id="Terminal" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.3296355" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
530
- <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />
531
- <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
532
- <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
533
- <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
534
- <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
535
- <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
536
- <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
537
- <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
538
- <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
539
- </layout>
540
- </component>
541
- <component name="TypeScriptGeneratedFilesManager">
542
- <option name="processedProjectFiles" value="true" />
543
- </component>
544
- <component name="VcsContentAnnotationSettings">
545
- <option name="myLimit" value="2678400000" />
546
- </component>
547
- <component name="VcsManagerConfiguration">
548
- <MESSAGE value="Initial commit" />
549
- <MESSAGE value="Update links" />
550
- <MESSAGE value="Updated readme" />
551
- <MESSAGE value="Fixed typos" />
552
- <MESSAGE value="Completed deployment to Rubygems.org" />
553
- <MESSAGE value="Removed useless test" />
554
- <MESSAGE value="Added travis badge" />
555
- <MESSAGE value="Reduced some code redundancy and introduced max_size and exists functionality" />
556
- <MESSAGE value="Max size functionality now works" />
557
- <MESSAGE value="Made made size opitonal" />
558
- <MESSAGE value="Updated description for gemspec" />
559
- <MESSAGE value="Updated readme to better describe functionality" />
560
- <MESSAGE value="Updated version to 0.2.0" />
561
- <option name="LAST_COMMIT_MESSAGE" value="Updated version to 0.2.0" />
562
- </component>
563
- <component name="XDebuggerManager">
564
- <breakpoint-manager />
565
- <watches-manager />
566
- </component>
567
- <component name="editorHistoryManager">
568
- <entry file="file://$PROJECT_DIR$/lib/libcache.rb">
569
- <provider selected="true" editor-type-id="text-editor">
570
- <state relative-caret-position="0">
571
- <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
572
- <folding />
573
- </state>
574
- </provider>
575
- </entry>
576
- <entry file="file://$PROJECT_DIR$/Gemfile.lock">
577
- <provider selected="true" editor-type-id="text-editor">
578
- <state relative-caret-position="0">
579
- <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
580
- <folding />
581
- </state>
582
- </provider>
583
- </entry>
584
- <entry file="file://$PROJECT_DIR$/.travis.yml">
585
- <provider selected="true" editor-type-id="text-editor">
586
- <state relative-caret-position="80">
587
- <caret line="5" column="0" lean-forward="true" selection-start-line="5" selection-start-column="0" selection-end-line="5" selection-end-column="0" />
588
- <folding />
589
- </state>
590
- </provider>
591
- </entry>
592
- <entry file="file://$PROJECT_DIR$/test/test_helper.rb">
593
- <provider selected="true" editor-type-id="text-editor">
594
- <state relative-caret-position="0">
595
- <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
596
- <folding />
597
- </state>
598
- </provider>
599
- </entry>
600
- <entry file="file://$PROJECT_DIR$/CODE_OF_CONDUCT.md">
601
- <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
602
- <state split_layout="SPLIT">
603
- <first_editor relative-caret-position="0">
604
- <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
605
- <folding />
606
- </first_editor>
607
- <second_editor />
608
- </state>
609
- </provider>
610
- </entry>
611
- <entry file="file://$PROJECT_DIR$/test/libcache_test.rb">
612
- <provider selected="true" editor-type-id="text-editor">
613
- <state relative-caret-position="112">
614
- <caret line="7" column="0" lean-forward="true" selection-start-line="7" selection-start-column="0" selection-end-line="7" selection-end-column="0" />
615
- <folding />
616
- </state>
617
- </provider>
618
- </entry>
619
- <entry file="file://$PROJECT_DIR$/Gemfile">
620
- <provider selected="true" editor-type-id="text-editor">
621
- <state relative-caret-position="48">
622
- <caret line="3" column="7" lean-forward="false" selection-start-line="3" selection-start-column="7" selection-end-line="3" selection-end-column="7" />
623
- <folding />
624
- </state>
625
- </provider>
626
- </entry>
627
- <entry file="file://$PROJECT_DIR$/libcache.gemspec">
628
- <provider selected="true" editor-type-id="text-editor">
629
- <state relative-caret-position="259">
630
- <caret line="17" column="39" lean-forward="true" selection-start-line="17" selection-start-column="39" selection-end-line="17" selection-end-column="39" />
631
- <folding />
632
- </state>
633
- </provider>
634
- </entry>
635
- <entry file="file://$PROJECT_DIR$/lib/libcache/cache_builder.rb">
636
- <provider selected="true" editor-type-id="text-editor">
637
- <state relative-caret-position="0">
638
- <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
639
- <folding />
640
- </state>
641
- </provider>
642
- </entry>
643
- <entry file="file://$PROJECT_DIR$/lib/libcache/file_cache.rb">
644
- <provider selected="true" editor-type-id="text-editor">
645
- <state relative-caret-position="272">
646
- <caret line="17" column="53" lean-forward="true" selection-start-line="17" selection-start-column="53" selection-end-line="17" selection-end-column="53" />
647
- <folding />
648
- </state>
649
- </provider>
650
- </entry>
651
- <entry file="file://$PROJECT_DIR$/Rakefile">
652
- <provider selected="true" editor-type-id="text-editor">
653
- <state relative-caret-position="0">
654
- <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
655
- <folding />
656
- </state>
657
- </provider>
658
- </entry>
659
- <entry file="file://$PROJECT_DIR$/exe/libcache">
660
- <provider selected="true" editor-type-id="text-editor">
661
- <state relative-caret-position="80">
662
- <caret line="5" column="81" lean-forward="true" selection-start-line="5" selection-start-column="68" selection-end-line="5" selection-end-column="81" />
663
- <folding />
664
- </state>
665
- </provider>
666
- </entry>
667
- <entry file="file://$PROJECT_DIR$/lib/libcache/cache.rb">
668
- <provider selected="true" editor-type-id="text-editor">
669
- <state relative-caret-position="112">
670
- <caret line="7" column="16" lean-forward="true" selection-start-line="7" selection-start-column="16" selection-end-line="7" selection-end-column="16" />
671
- <folding />
672
- </state>
673
- </provider>
674
- </entry>
675
- <entry file="file://$PROJECT_DIR$/README.md">
676
- <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
677
- <state split_layout="FIRST">
678
- <first_editor relative-caret-position="284">
679
- <caret line="49" column="0" lean-forward="true" selection-start-line="49" selection-start-column="0" selection-end-line="49" selection-end-column="0" />
680
- <folding>
681
- <marker date="1484395044567" expanded="true" signature="944:963" ph="{ ... }" />
682
- <marker date="1484395044567" expanded="true" signature="1084:1276" ph="##..." />
683
- <marker date="1484395044567" expanded="true" signature="1150:1276" ph="##..." />
684
- <marker date="1484395044567" expanded="true" signature="1285:1313" ph="do ... end" />
685
- <marker date="1484395044567" expanded="true" signature="1801:1820" ph="{ ... }" />
686
- <marker date="1484395044567" expanded="true" signature="1941:2144" ph="##..." />
687
- <marker date="1484395044567" expanded="true" signature="2007:2144" ph="##..." />
688
- <marker date="1484395044567" expanded="true" signature="2153:2181" ph="do ... end" />
689
- </folding>
690
- </first_editor>
691
- <second_editor />
692
- </state>
693
- </provider>
694
- </entry>
695
- <entry file="file://$PROJECT_DIR$/lib/libcache/version.rb">
696
- <provider selected="true" editor-type-id="text-editor">
697
- <state relative-caret-position="32">
698
- <caret line="2" column="3" lean-forward="true" selection-start-line="2" selection-start-column="3" selection-end-line="2" selection-end-column="3" />
699
- <folding />
700
- </state>
701
- </provider>
702
- </entry>
703
- </component>
704
- </project>
data/bin/console DELETED
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require "bundler/setup"
4
- require "libcache"
5
-
6
- # You can add fixtures and/or initialization code here to make experimenting
7
- # with your gem easier. You can also use a different console, if you like.
8
-
9
- # (If you use this, don't forget to add pry to your Gemfile!)
10
- # require "pry"
11
- # Pry.start
12
-
13
- require "irb"
14
- IRB.start
data/bin/setup DELETED
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
- IFS=$'\n\t'
4
- set -vx
5
-
6
- bundle install
7
-
8
- # Do any other automated setup that you need to do here
data/exe/libcache DELETED
@@ -1,19 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require "../lib/libcache/cache_builder"
4
- require_relative "../lib/libcache/file_cache"
5
-
6
- cache = CacheBuilder.with(Cache).set_store(ARGV[0]).set_expiry('3s').set_max(500).build
7
-
8
- cache.put("1as", 2)
9
-
10
- 7.times do |i|
11
- puts cache.exists?("1as")
12
- sleep i / 2
13
- end
14
-
15
- puts "yeet"
16
-
17
- at_exit do
18
- cache.invalidateAll
19
- end