polygon 0.9.1 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,4 +1,9 @@
1
- # 0.0.1 / FIX ME
1
+ # 0.10.0 / 2013-07-25
2
+
3
+ * Alf dependency bumped to 0.16(.3)
4
+ * Renamed Launch script as Open.
5
+
6
+ # 0.9.1 / 2012-01-15
2
7
 
3
8
  * Enhancements
4
9
 
data/Gemfile CHANGED
@@ -2,15 +2,17 @@ source 'http://rubygems.org'
2
2
 
3
3
  group :runtime do
4
4
  gem "json", ">= 0"
5
- gem "sinatra", "~> 1.3"
6
- gem "wlang", "~> 2.1.1"
7
- gem "alf", "~> 0.12.2"
5
+ gem "sinatra", "~> 1.4"
6
+ gem "wlang", "~> 2.1"
7
+ gem "alf-core", "~> 0.16"
8
8
  gem "quickl", "~> 0.4.2"
9
- gem "path", "~> 1.3.1"
9
+ gem "path", "~> 1.3"
10
+ gem "http", "~> 0.0.1"
11
+ gem "launchy", "~> 2.0"
10
12
  end
11
13
 
12
14
  group :development do
13
- gem "rake", "~> 0.9.2"
15
+ gem "rake", "~> 10.0"
14
16
  gem "bundler", "~> 1.0"
15
17
  gem "rspec", "~> 2.10"
16
18
  gem "yard", "~> 0.7.2"
@@ -1,36 +1,44 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
- alf (0.12.2)
5
- backports (~> 2.6)
6
- myrrha (~> 1.2.1)
7
- quickl (~> 0.4.2)
8
- backports (2.6.1)
4
+ addressable (2.3.2)
5
+ alf-core (0.16.3)
6
+ domain (~> 1.0)
7
+ myrrha (~> 3.0)
8
+ path (~> 1.3)
9
+ sexpr (~> 0.6.0)
10
+ backports (2.6.7)
9
11
  bluecloth (2.2.0)
10
12
  citrus (2.4.1)
11
13
  diff-lcs (1.1.3)
12
- json (1.7.3)
13
- myrrha (1.2.2)
14
- path (1.3.1)
14
+ domain (1.0.0)
15
+ http (0.0.2)
16
+ json (1.7.6)
17
+ launchy (2.1.2)
18
+ addressable (~> 2.3)
19
+ myrrha (3.0.0)
20
+ domain (~> 1.0)
21
+ path (1.3.3)
15
22
  quickl (0.4.3)
16
- rack (1.4.4)
17
- rack-protection (1.3.2)
23
+ rack (1.5.2)
24
+ rack-protection (1.5.3)
18
25
  rack
19
- rake (0.9.2.2)
20
- rspec (2.10.0)
21
- rspec-core (~> 2.10.0)
22
- rspec-expectations (~> 2.10.0)
23
- rspec-mocks (~> 2.10.0)
24
- rspec-core (2.10.1)
25
- rspec-expectations (2.10.0)
26
+ rake (10.0.3)
27
+ rspec (2.12.0)
28
+ rspec-core (~> 2.12.0)
29
+ rspec-expectations (~> 2.12.0)
30
+ rspec-mocks (~> 2.12.0)
31
+ rspec-core (2.12.2)
32
+ rspec-expectations (2.12.1)
26
33
  diff-lcs (~> 1.1.3)
27
- rspec-mocks (2.10.1)
28
- sinatra (1.3.3)
29
- rack (~> 1.3, >= 1.3.6)
30
- rack-protection (~> 1.2)
31
- tilt (~> 1.3, >= 1.3.3)
34
+ rspec-mocks (2.12.1)
35
+ sexpr (0.6.0)
36
+ sinatra (1.4.5)
37
+ rack (~> 1.4)
38
+ rack-protection (~> 1.4)
39
+ tilt (~> 1.3, >= 1.3.4)
32
40
  temple (0.4.1)
33
- tilt (1.3.3)
41
+ tilt (1.4.1)
34
42
  wlang (2.1.1)
35
43
  backports (~> 2.6)
36
44
  citrus (~> 2.4.1)
@@ -43,14 +51,16 @@ PLATFORMS
43
51
  ruby
44
52
 
45
53
  DEPENDENCIES
46
- alf (~> 0.12.2)
54
+ alf-core (~> 0.16)
47
55
  bluecloth (~> 2.2)
48
56
  bundler (~> 1.0)
57
+ http (~> 0.0.1)
49
58
  json
50
- path (~> 1.3.1)
59
+ launchy (~> 2.0)
60
+ path (~> 1.3)
51
61
  quickl (~> 0.4.2)
52
- rake (~> 0.9.2)
62
+ rake (~> 10.0)
53
63
  rspec (~> 2.10)
54
- sinatra (~> 1.3)
55
- wlang (~> 2.1.1)
64
+ sinatra (~> 1.4)
65
+ wlang (~> 2.1)
56
66
  yard (~> 0.7.2)
@@ -1,14 +1,30 @@
1
1
  require "polygon/version"
2
2
  require "polygon/loader"
3
3
  require "polygon/core_ext"
4
- #
5
- # A web framework powered by sinatra for mostly static websites
6
- #
7
- module Polygon
8
4
 
9
- end # module Polygon
10
5
  require 'polygon/entry'
11
6
  require 'polygon/database'
12
7
  require 'polygon/helpers'
13
8
  require 'polygon/base'
14
9
  require 'polygon/dialect'
10
+ #
11
+ # A web framework powered by sinatra for mostly static websites
12
+ #
13
+ module Polygon
14
+
15
+ DEFAULT_OPTIONS = { viewpoint: Database }
16
+
17
+ def self.database(path, options = {})
18
+ options = DEFAULT_OPTIONS.merge(options)
19
+ Alf.database(Database::Adapter.polygon(path), options)
20
+ end
21
+
22
+ def self.connection(path, options = {})
23
+ database(path, options).connection
24
+ end
25
+
26
+ def self.connect(path, options = {}, &bl)
27
+ database(path, options).connect(&bl)
28
+ end
29
+
30
+ end # module Polygon
@@ -2,9 +2,9 @@ module Polygon
2
2
  class Base < Sinatra::Base
3
3
 
4
4
  configure do
5
- set :public_folder, Proc.new { 'content/static' }
6
- set :views, Proc.new { 'design/views' }
7
- set :database, Proc.new { Database.new('content/dynamic') }
5
+ set :public_folder, Proc.new { 'content/static' }
6
+ set :views, Proc.new { 'design/views' }
7
+ set :doc_folder, Proc.new { 'content/dynamic' }
8
8
  set :wlang, :layout => :"layouts/html5"
9
9
  enable :logging
10
10
  enable :raise_errors
@@ -1,41 +1,50 @@
1
1
  module Polygon
2
- class Database < Alf::Environment
2
+ module Database
3
+ include Alf::Viewpoint
3
4
 
4
- attr_reader :root, :options
5
+ class Adapter < Alf::Adapter
5
6
 
6
- def initialize(root, options = {})
7
- @root = Path(root)
8
- @options = default_options.merge(options)
9
- end
7
+ def self.recognizes?(conn_spec)
8
+ Path.like?(conn_spec) && Path(conn_spec).directory?
9
+ end
10
10
 
11
- def default_options
12
- { :extensions => ["yml", "md"] }
13
- end
11
+ def connection
12
+ Connection.new(Path(conn_spec))
13
+ end
14
+
15
+ Adapter.register(:polygon, self)
16
+ end # class Adapter
14
17
 
15
- def dataset(name)
16
- if self.respond_to?(name)
17
- send(name)
18
- else
19
- raise Alf::NoSuchDatasetError, "No such dataset `#{name}`"
18
+ class Connection < Alf::Adapter::Connection
19
+
20
+ alias :folder :conn_spec
21
+
22
+ def default_options
23
+ { :extensions => ["yml", "md"] }
20
24
  end
21
- end
22
25
 
23
- def entries
24
- @entries ||= Entries.new(root, options)
25
- end
26
+ def knows?(name)
27
+ name == :entries
28
+ end
26
29
 
27
- def sitemap
28
- @sitemap ||= begin
29
- Alf.lispy(self).compile do
30
- (extend :entries,
31
- :path => lambda{ entry.relative_path.to_url },
32
- :lastmod => lambda{ entry.path.mtime.strftime("%Y-%m-%d") })
33
- end
30
+ # Returns a cog for `name`
31
+ def cog(plan, expr)
32
+ name = expr.name
33
+ raise Alf::NoSuchRelvarError, "Unable to find a file for #{name}" unless knows?(name)
34
+ Entries.new(folder, default_options)
34
35
  end
36
+
37
+ end # class Connection
38
+
39
+ native :entries
40
+
41
+ def sitemap
42
+ extend(entries,
43
+ path: ->{ entry.relative_path.to_url },
44
+ lastmod: ->{ entry.path.mtime.strftime("%Y-%m-%d") })
35
45
  end
36
46
 
37
47
  class Entries
38
- include Alf::Iterator
39
48
 
40
49
  def initialize(root, options)
41
50
  @root = root
@@ -43,6 +52,7 @@ module Polygon
43
52
  end
44
53
 
45
54
  def each
55
+ return to_enum unless block_given?
46
56
  extensions = @options[:extensions]
47
57
  @root.glob("**/*").each do |file|
48
58
  next unless file.file? and extensions.include?(file.ext)
@@ -51,7 +61,15 @@ module Polygon
51
61
  end
52
62
  end
53
63
 
64
+ def compiler
65
+ nil
66
+ end
67
+
68
+ def to_relation
69
+ Relation(each.to_a)
70
+ end
71
+
54
72
  end # class Entries
55
73
 
56
- end # class Database
74
+ end # module Database
57
75
  end # class Polygon
@@ -14,12 +14,7 @@ module Polygon
14
14
  end
15
15
 
16
16
  def database
17
- settings.database
18
- end
19
-
20
- def lispy(&bl)
21
- @lispy ||= Alf.lispy(database)
22
- bl ? @lispy.evaluate(&bl) : @lispy
17
+ Polygon.connection(settings.doc_folder)
23
18
  end
24
19
 
25
20
  def in_production
@@ -35,16 +30,24 @@ module Polygon
35
30
  end
36
31
 
37
32
  def sitemap_locals
38
- { :urls => database.sitemap }
33
+ index_locals.merge(:urls => database.query{ sitemap })
34
+ end
35
+
36
+ def normalize_path(path)
37
+ path = path[1..-1] if path =~ /^\//
38
+ path = path[0...-1] if path =~ /\/$/
39
+ path
39
40
  end
40
41
 
41
42
  def page_locals(path = "")
42
- rel = lispy do
43
- (unwrap \
44
- (extend (restrict :sitemap, :path => path),
45
- :data => lambda{ entry.to_hash }),
46
- :data)
47
- end
43
+ path = normalize_path(path)
44
+ rel = database.relvar{
45
+ unwrap(
46
+ extend(
47
+ restrict(sitemap, path: path),
48
+ data: ->{ entry }),
49
+ :data)
50
+ }
48
51
  rel && rel.to_a.first
49
52
  end
50
53
  alias :index_locals :page_locals
@@ -1,6 +1,8 @@
1
1
  require "json"
2
2
  require "sinatra"
3
3
  require "wlang"
4
- require "alf"
4
+ require "alf-core"
5
5
  require "quickl"
6
6
  require "path"
7
+ require "http"
8
+ require "launchy"
@@ -10,13 +10,14 @@ module Polygon
10
10
  Path($0).backfind('.[config.ru]') || Path.pwd.backfind('.[config.ru]')
11
11
  end
12
12
 
13
- def logger
14
- @logger ||= Logger.new(root/:logs/"#{Quickl.command_name(self)}.log") if enable_logging
13
+ def log_io
14
+ @log_io ||= File.open(root/:logs/"#{Quickl.command_name(self)}.log".to_s, "w")
15
15
  end
16
16
 
17
17
  def log(message, severity)
18
18
  puts message
19
- logger.send(severity, message) if enable_logging
19
+ log_io.puts("#{severity}: #{message}") if enable_logging
20
+ log_io.flush
20
21
  yield if block_given?
21
22
  end
22
23
  def debug(message, &block); log(message, :debug, &block); end
@@ -25,6 +26,18 @@ module Polygon
25
26
  def error(message, &block); log(message, :error, &block); end
26
27
  def fatal(message, &block); log(message, :fatal, &block); end
27
28
 
29
+ def flush_logs
30
+ @log_io.close if @log_io
31
+ end
32
+
33
+ def spawn(command)
34
+ if enable_logging
35
+ Kernel.spawn(command, [:out, :err] => log_io)
36
+ else
37
+ Kernel.spawn(command)
38
+ end
39
+ end
40
+
28
41
  end
29
42
 
30
43
  def self.Script(*args)
@@ -34,5 +47,5 @@ module Polygon
34
47
  end
35
48
 
36
49
  end
37
- require 'polygon/script/launch'
50
+ require 'polygon/script/open'
38
51
  require 'polygon/script/gsub'
@@ -1,8 +1,8 @@
1
1
  module Polygon
2
2
  module Script
3
- class Launch < Polygon::Script(__FILE__, __LINE__)
3
+ class Open < Polygon::Script(__FILE__, __LINE__)
4
4
 
5
- attr_accessor :mode, :refresh_repo, :open_browser, :try, :max
5
+ attr_accessor :mode, :refresh_repo, :sync_repo, :bundle, :open_browser, :try, :max
6
6
 
7
7
  def config_ru
8
8
  root/:config/"#{mode}.ru"
@@ -18,6 +18,14 @@ module Polygon
18
18
  opt.on('--[no-]refresh', "Issues a 'git remote update' first?") do |value|
19
19
  self.refresh_repo = value
20
20
  end
21
+ self.sync_repo = true
22
+ opt.on('--[no-]sync', "Issues a 'git rebase origin/master' first?") do |value|
23
+ self.refresh_repo = value
24
+ end
25
+ self.bundle = true
26
+ opt.on('--[no-]bundle', "Issues a 'bundle' first?") do |value|
27
+ self.bundle = value
28
+ end
21
29
  self.open_browser = true
22
30
  opt.on('--[no-]browser', "Open the browser automatically?") do |value|
23
31
  self.open_browser = value
@@ -49,8 +57,17 @@ module Polygon
49
57
 
50
58
  info "Refreshing repository info..." do
51
59
  Process.wait spawn("git remote update")
60
+ Process.wait spawn("git fetch origin")
52
61
  end if refresh_repo
53
62
 
63
+ info "Syncing repository..." do
64
+ Process.wait spawn("git pull origin master")
65
+ end if sync_repo
66
+
67
+ info "Bundling..." do
68
+ Process.wait spawn("bundle")
69
+ end if bundle
70
+
54
71
  thinpid = nil
55
72
  info "Starting the web server..." do
56
73
  thinpid = spawn("thin -R #{config_ru} start")
@@ -68,8 +85,10 @@ module Polygon
68
85
  Process.kill("SIGHUP", thinpid) if thinpid
69
86
  ensure
70
87
  Process.wait(thinpid) if thinpid
88
+ flush_logs
71
89
  end
72
90
 
73
- end # class Launch
91
+ end # class Open
92
+ Launch = Open
74
93
  end # module Script
75
- end # module Polygon
94
+ end # module Polygon
@@ -2,8 +2,8 @@ module Polygon
2
2
  module Version
3
3
 
4
4
  MAJOR = 0
5
- MINOR = 9
6
- TINY = 1
5
+ MINOR = 10
6
+ TINY = 0
7
7
 
8
8
  def self.to_s
9
9
  [ MAJOR, MINOR, TINY ].join('.')
@@ -123,17 +123,19 @@ Gem::Specification.new do |s|
123
123
  # One call to add_development_dependency('gem_name', 'gem version requirement')
124
124
  # for each development dependency. These gems are required for developers
125
125
  #
126
- s.add_development_dependency("rake", "~> 0.9.2")
126
+ s.add_development_dependency("rake", "~> 10.0")
127
127
  s.add_development_dependency("bundler", "~> 1.0")
128
128
  s.add_development_dependency("rspec", "~> 2.10")
129
129
  s.add_development_dependency("yard", "~> 0.7.2")
130
130
  s.add_development_dependency("bluecloth", "~> 2.2")
131
131
  s.add_dependency("json", ">= 0")
132
- s.add_dependency("sinatra", "~> 1.3")
133
- s.add_dependency("wlang", "~> 2.1.1")
134
- s.add_dependency("alf", "~> 0.12.2")
132
+ s.add_dependency("sinatra", "~> 1.4")
133
+ s.add_dependency("wlang", "~> 2.1")
134
+ s.add_dependency("alf-core", "~> 0.16")
135
135
  s.add_dependency("quickl", "~> 0.4.2")
136
- s.add_dependency("path", "~> 1.3.1")
136
+ s.add_dependency("path", "~> 1.3")
137
+ s.add_dependency("http", "~> 0.0.1")
138
+ s.add_dependency("launchy", "~> 2.0")
137
139
 
138
140
  # The version of ruby required by this gem
139
141
  #
@@ -7,7 +7,7 @@ variables:
7
7
  upper:
8
8
  Polygon
9
9
  version:
10
- 0.9.1
10
+ 0.10.0
11
11
  summary: |-
12
12
  A web framework powered by sinatra for mostly static websites
13
13
  description: |-
@@ -19,12 +19,14 @@ variables:
19
19
  - http://github.com/blambeau/polygon
20
20
  dependencies:
21
21
  - {name: json, version: ">= 0", groups: [runtime]}
22
- - {name: sinatra, version: "~> 1.3", groups: [runtime]}
23
- - {name: wlang, version: "~> 2.1.1", groups: [runtime]}
24
- - {name: alf, version: "~> 0.12.2", groups: [runtime]}
22
+ - {name: sinatra, version: "~> 1.4", groups: [runtime]}
23
+ - {name: wlang, version: "~> 2.1", groups: [runtime]}
24
+ - {name: alf-core, version: "~> 0.16", groups: [runtime]}
25
25
  - {name: quickl, version: "~> 0.4.2", groups: [runtime]}
26
- - {name: path, version: "~> 1.3.1", groups: [runtime]}
27
- - {name: rake, version: "~> 0.9.2", groups: [development]}
26
+ - {name: path, version: "~> 1.3", groups: [runtime]}
27
+ - {name: http, version: "~> 0.0.1", groups: [runtime]}
28
+ - {name: launchy, version: "~> 2.0", groups: [runtime]}
29
+ - {name: rake, version: "~> 10.0", groups: [development]}
28
30
  - {name: bundler, version: "~> 1.0", groups: [development]}
29
31
  - {name: rspec, version: "~> 2.10", groups: [development]}
30
32
  - {name: yard, version: "~> 0.7.2", groups: [development]}
@@ -2,16 +2,12 @@ require 'spec_helper'
2
2
  module Polygon
3
3
  describe Database, "entries" do
4
4
 
5
- let(:database){ Database.new fixtures_path }
5
+ let(:connection){ Polygon.connection(fixtures_path) }
6
6
 
7
- subject{ database.entries }
7
+ subject{ connection.query{ entries } }
8
8
 
9
- it 'is returned by dataset' do
10
- subject.should eq(database.dataset(:entries))
11
- end
12
-
13
- it 'returns a Alf::Iterator' do
14
- subject.should be_a(Alf::Iterator)
9
+ it 'should be a Relation' do
10
+ subject.should be_a(Relation)
15
11
  end
16
12
 
17
13
  it 'iterates tuples with entries' do
@@ -2,16 +2,12 @@ require 'spec_helper'
2
2
  module Polygon
3
3
  describe Database, "entries" do
4
4
 
5
- let(:database){ Database.new fixtures_path }
5
+ let(:connection){ Polygon.connection(fixtures_path) }
6
6
 
7
- subject{ database.sitemap }
7
+ subject{ connection.query{ sitemap } }
8
8
 
9
- it 'is returned by dataset' do
10
- subject.should eq(database.dataset(:sitemap))
11
- end
12
-
13
- it 'returns a Alf::Iterator' do
14
- subject.should be_a(Alf::Iterator)
9
+ it 'returns a Relation' do
10
+ subject.should be_a(Relation)
15
11
  end
16
12
 
17
13
  it 'iterates tuples with entries, path and lastmod' do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: polygon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 0.10.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-01-15 00:00:00.000000000 Z
12
+ date: 2014-07-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -18,7 +18,7 @@ dependencies:
18
18
  requirements:
19
19
  - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: 0.9.2
21
+ version: '10.0'
22
22
  type: :development
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ~>
28
28
  - !ruby/object:Gem::Version
29
- version: 0.9.2
29
+ version: '10.0'
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: bundler
32
32
  requirement: !ruby/object:Gem::Requirement
@@ -114,7 +114,7 @@ dependencies:
114
114
  requirements:
115
115
  - - ~>
116
116
  - !ruby/object:Gem::Version
117
- version: '1.3'
117
+ version: '1.4'
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
@@ -122,7 +122,7 @@ dependencies:
122
122
  requirements:
123
123
  - - ~>
124
124
  - !ruby/object:Gem::Version
125
- version: '1.3'
125
+ version: '1.4'
126
126
  - !ruby/object:Gem::Dependency
127
127
  name: wlang
128
128
  requirement: !ruby/object:Gem::Requirement
@@ -130,7 +130,7 @@ dependencies:
130
130
  requirements:
131
131
  - - ~>
132
132
  - !ruby/object:Gem::Version
133
- version: 2.1.1
133
+ version: '2.1'
134
134
  type: :runtime
135
135
  prerelease: false
136
136
  version_requirements: !ruby/object:Gem::Requirement
@@ -138,15 +138,15 @@ dependencies:
138
138
  requirements:
139
139
  - - ~>
140
140
  - !ruby/object:Gem::Version
141
- version: 2.1.1
141
+ version: '2.1'
142
142
  - !ruby/object:Gem::Dependency
143
- name: alf
143
+ name: alf-core
144
144
  requirement: !ruby/object:Gem::Requirement
145
145
  none: false
146
146
  requirements:
147
147
  - - ~>
148
148
  - !ruby/object:Gem::Version
149
- version: 0.12.2
149
+ version: '0.16'
150
150
  type: :runtime
151
151
  prerelease: false
152
152
  version_requirements: !ruby/object:Gem::Requirement
@@ -154,7 +154,7 @@ dependencies:
154
154
  requirements:
155
155
  - - ~>
156
156
  - !ruby/object:Gem::Version
157
- version: 0.12.2
157
+ version: '0.16'
158
158
  - !ruby/object:Gem::Dependency
159
159
  name: quickl
160
160
  requirement: !ruby/object:Gem::Requirement
@@ -178,7 +178,39 @@ dependencies:
178
178
  requirements:
179
179
  - - ~>
180
180
  - !ruby/object:Gem::Version
181
- version: 1.3.1
181
+ version: '1.3'
182
+ type: :runtime
183
+ prerelease: false
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
186
+ requirements:
187
+ - - ~>
188
+ - !ruby/object:Gem::Version
189
+ version: '1.3'
190
+ - !ruby/object:Gem::Dependency
191
+ name: http
192
+ requirement: !ruby/object:Gem::Requirement
193
+ none: false
194
+ requirements:
195
+ - - ~>
196
+ - !ruby/object:Gem::Version
197
+ version: 0.0.1
198
+ type: :runtime
199
+ prerelease: false
200
+ version_requirements: !ruby/object:Gem::Requirement
201
+ none: false
202
+ requirements:
203
+ - - ~>
204
+ - !ruby/object:Gem::Version
205
+ version: 0.0.1
206
+ - !ruby/object:Gem::Dependency
207
+ name: launchy
208
+ requirement: !ruby/object:Gem::Requirement
209
+ none: false
210
+ requirements:
211
+ - - ~>
212
+ - !ruby/object:Gem::Version
213
+ version: '2.0'
182
214
  type: :runtime
183
215
  prerelease: false
184
216
  version_requirements: !ruby/object:Gem::Requirement
@@ -186,7 +218,7 @@ dependencies:
186
218
  requirements:
187
219
  - - ~>
188
220
  - !ruby/object:Gem::Version
189
- version: 1.3.1
221
+ version: '2.0'
190
222
  description: ! "Polygon provides a framework with strong separation of concerns between
191
223
  \nclients, developers and web designers"
192
224
  email:
@@ -213,7 +245,7 @@ files:
213
245
  - lib/polygon/helpers.rb
214
246
  - lib/polygon/loader.rb
215
247
  - lib/polygon/script/gsub.rb
216
- - lib/polygon/script/launch.rb
248
+ - lib/polygon/script/open.rb
217
249
  - lib/polygon/script.rb
218
250
  - lib/polygon/version.rb
219
251
  - lib/polygon.rb
@@ -270,7 +302,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
270
302
  version: '0'
271
303
  segments:
272
304
  - 0
273
- hash: -65657202996910521
305
+ hash: -758849009139759142
274
306
  required_rubygems_version: !ruby/object:Gem::Requirement
275
307
  none: false
276
308
  requirements:
@@ -279,7 +311,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
279
311
  version: '0'
280
312
  requirements: []
281
313
  rubyforge_project:
282
- rubygems_version: 1.8.24
314
+ rubygems_version: 1.8.25
283
315
  signing_key:
284
316
  specification_version: 3
285
317
  summary: A web framework powered by sinatra for mostly static websites