batali 0.2.2 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b932231673eb1265232f82a6a4e5e201e0324058
4
- data.tar.gz: 64b947c6f2c44899a0e220800981a2eec1ff6954
3
+ metadata.gz: 3d07b92c629d84ed1ca5fe885ee8eae8b7426c30
4
+ data.tar.gz: a17f9cbb2e9e42f0f8881ac196a5320176a93376
5
5
  SHA512:
6
- metadata.gz: 815ced6e99320cc992db4a985dddebe8f426ee2dafce37ca6d542105b52e41e000d1ba19993c0005b88c1d606b422a33e6b93452599a1f248bc284efbc59a201
7
- data.tar.gz: 7b40082eb73d94ff5216d83fd5089ec9fd29c376e966b37d6de770049f10b163ce813c0b07efc76bd56d435f49ef06f2eda25deed772dfeb8fe0e23c40d84ca4
6
+ metadata.gz: 4209014fa64523d06c2bdb05451a199da4508fffccf33a92af7f5d1b10cd8b4db7c1aefb2df1f32ef7572bfb5f9963b8bd6fe4273490909e91fe6486caffd723
7
+ data.tar.gz: f05d9c4cdca2a6e1e7d3770ed24894d8c2fb04e8fa4e0736bbc8a50b252435488fa146b85c58563c46d0690a2d71835fd9fd91dd6864af3ee25aa813cb9ffb60
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ # v0.2.4
2
+ * Fix caching support
3
+
1
4
  # v0.2.2
2
5
  * Add guard when switching resolution types (#14)
3
6
  * Cache HTTP requests (#20)
data/batali.gemspec CHANGED
@@ -16,8 +16,9 @@ Gem::Specification.new do |s|
16
16
  s.add_runtime_dependency 'bogo-cli', '~> 0.1.12'
17
17
  s.add_runtime_dependency 'bogo-config', '~> 0.1.10'
18
18
  s.add_runtime_dependency 'bogo-ui', '~> 0.1.6'
19
+ s.add_runtime_dependency 'http', '~> 0.8.2'
20
+ s.add_runtime_dependency 'rack-cache'
19
21
  s.add_runtime_dependency 'git'
20
- s.add_runtime_dependency 'http'
21
22
  s.add_development_dependency 'minitest'
22
23
  s.add_development_dependency 'pry'
23
24
  s.executables << 'batali'
@@ -36,7 +36,7 @@ module Batali
36
36
  ['entitystore', 'metastore', identifier].each do |leaf|
37
37
  FileUtils.mkdir_p(File.join(cache, leaf))
38
38
  end
39
- File.join(cache, leaf)
39
+ File.join(cache, identifier)
40
40
  end
41
41
  end
42
42
 
@@ -75,6 +75,7 @@ module Batali
75
75
  # @return [String] path to universe file
76
76
  def fetch
77
77
  do_fetch = true
78
+ cache_directory # init directory creation
78
79
  if(File.exists?(universe_path))
79
80
  age = Time.now - File.mtime(universe_path)
80
81
  if(age < update_interval)
@@ -85,8 +86,8 @@ module Batali
85
86
  t_uni = "#{universe_path}.#{SecureRandom.urlsafe_base64}"
86
87
  File.open(t_uni, 'w') do |file|
87
88
  file.write HTTP.with_cache(
88
- :metastore => File.join(cache, 'metastore'),
89
- :entitystore => File.join(cache, 'entitystore')
89
+ :metastore => "file:#{File.join(cache, 'metastore')}",
90
+ :entitystore => "file:#{File.join(cache, 'entitystore')}"
90
91
  ).get(URI.join(endpoint, 'universe')).body.to_s
91
92
  end
92
93
  FileUtils.mv(t_uni, universe_path)
@@ -29,7 +29,7 @@ module Batali
29
29
  # should be _the_ preferred version
30
30
  if(manifest_unit.version == unit.version)
31
31
  multiplier = 10000000
32
- elsif(opts[:solver].new_world)
32
+ elsif(opts[:solver] && opts[:solver].new_world)
33
33
  new_world_unit = opts[:solver].new_world.units.detect do |n_unit|
34
34
  n_unit.name == unit.name &&
35
35
  n_unit.version == unit.version
@@ -57,7 +57,7 @@ module Batali
57
57
  end
58
58
  end
59
59
  else
60
- if(opts[:solver].new_world)
60
+ if(opts[:solver] && opts[:solver].new_world)
61
61
  new_world_unit = opts[:solver].new_world.units.detect do |n_unit|
62
62
  n_unit.name == unit.name &&
63
63
  n_unit.version == unit.version
@@ -9,6 +9,8 @@ module Batali
9
9
  # Site based source
10
10
  class Site < Source
11
11
 
12
+ include Bogo::Memoization
13
+
12
14
  # @return [Array<Hash>] dependency strings
13
15
  attr_reader :dependencies
14
16
  # @return [String] version
@@ -57,13 +59,13 @@ module Batali
57
59
  unless(File.directory?(path))
58
60
  FileUtils.mkdir_p(path)
59
61
  result = HTTP.with_cache(
60
- :metastore => File.join(cache_directory, 'metastore'),
61
- :entitystore => File.join(cache_directory, 'entitystore')
62
+ :metastore => "file:#{File.join(cache_directory, 'metastore')}",
63
+ :entitystore => "file:#{File.join(cache_directory, 'entitystore')}"
62
64
  ).get(url)
63
65
  while(result.code == 302)
64
66
  result = HTTP.with_cache(
65
- :metastore => File.join(cache_directory, 'metastore'),
66
- :entitystore => File.join(cache_directory, 'entitystore')
67
+ :metastore => "file:#{File.join(cache_directory, 'metastore')}",
68
+ :entitystore => "file:#{File.join(cache_directory, 'entitystore')}"
67
69
  ).get(result.headers['Location'])
68
70
  end
69
71
  File.open(a_path = File.join(path, 'asset'), 'w') do |file|
@@ -1,4 +1,4 @@
1
1
  module Batali
2
2
  # Current version
3
- VERSION = Gem::Version.new('0.2.2')
3
+ VERSION = Gem::Version.new('0.2.4')
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: batali
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Roberts
@@ -95,7 +95,21 @@ dependencies:
95
95
  - !ruby/object:Gem::Version
96
96
  version: 0.1.6
97
97
  - !ruby/object:Gem::Dependency
98
- name: git
98
+ name: http
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 0.8.2
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 0.8.2
111
+ - !ruby/object:Gem::Dependency
112
+ name: rack-cache
99
113
  requirement: !ruby/object:Gem::Requirement
100
114
  requirements:
101
115
  - - ">="
@@ -109,7 +123,7 @@ dependencies:
109
123
  - !ruby/object:Gem::Version
110
124
  version: '0'
111
125
  - !ruby/object:Gem::Dependency
112
- name: http
126
+ name: git
113
127
  requirement: !ruby/object:Gem::Requirement
114
128
  requirements:
115
129
  - - ">="