adva-static 0.0.9 → 0.0.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. data/lib/adva/static.rb +5 -2
  2. data/lib/adva/static/export.rb +1 -1
  3. data/lib/adva/static/export/store.rb +2 -2
  4. data/lib/adva/static/export/templates/config.ru +34 -10
  5. data/lib/adva/static/import.rb +13 -6
  6. data/lib/adva/static/import/format.rb +25 -29
  7. data/lib/adva/static/import/model.rb +9 -10
  8. data/lib/adva/static/import/model/base.rb +20 -43
  9. data/lib/adva/static/import/model/blog.rb +11 -17
  10. data/lib/adva/static/import/model/page.rb +1 -16
  11. data/lib/adva/static/import/model/post.rb +21 -48
  12. data/lib/adva/static/import/model/section.rb +17 -23
  13. data/lib/adva/static/import/model/site.rb +11 -35
  14. data/lib/adva/static/import/source.rb +17 -72
  15. data/lib/adva/static/import/source/base.rb +59 -0
  16. data/lib/adva/static/import/source/blog.rb +37 -0
  17. data/lib/adva/static/import/source/page.rb +17 -0
  18. data/lib/adva/static/import/source/path.rb +84 -0
  19. data/lib/adva/static/import/source/post.rb +67 -0
  20. data/lib/adva/static/import/source/section.rb +39 -0
  21. data/lib/adva/static/import/source/site.rb +44 -0
  22. data/lib/adva/static/server.rb +38 -0
  23. data/lib/adva/static/{rack → server}/export.rb +1 -1
  24. data/lib/adva/static/{rack → server}/request.rb +1 -1
  25. data/lib/adva/static/{rack → server}/static.rb +2 -2
  26. data/lib/adva/static/{rack → server}/watch.rb +4 -4
  27. data/lib/adva/static/server/watch/handler.rb +57 -0
  28. data/lib/adva/tasks/static.rb +3 -4
  29. data/lib/adva_static/version.rb +1 -1
  30. data/lib/testing/step_definitions.rb +3 -0
  31. data/lib/testing/test_helper.rb +36 -31
  32. metadata +145 -104
  33. data/lib/adva/static/rack.rb +0 -15
  34. data/lib/adva/static/watch.rb +0 -7
  35. data/lib/adva/static/watch/handler.rb +0 -57
@@ -0,0 +1,39 @@
1
+ module Adva
2
+ class Static
3
+ class Import
4
+ module Source
5
+ class Section < Base
6
+ TYPES = [Blog, Page]
7
+
8
+ class << self
9
+ def recognize(paths)
10
+ TYPES.map { |type| type.recognize(paths) }.flatten.compact.sort
11
+ end
12
+ end
13
+
14
+ def root?
15
+ path.root?
16
+ end
17
+
18
+ def name
19
+ @name ||= read.name || (root? ? 'Home' : path.filename.to_s.titleize)
20
+ end
21
+
22
+ def slug
23
+ @slug ||= read.slug || SimpleSlugs::Slug.new(name).to_s
24
+ end
25
+
26
+ def data
27
+ super.merge(:name => name, :slug => slug)
28
+ end
29
+
30
+ protected
31
+
32
+ def loadable
33
+ path.find('index') || path.parent.find(path.filename) || path
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,44 @@
1
+ require 'hashr'
2
+
3
+ module Adva
4
+ class Static
5
+ class Import
6
+ module Source
7
+ class Site < Base
8
+ class << self
9
+ def recognize(paths)
10
+ paths.map { |path| new(path.delete(path).root) if path.filename == 'site' }.compact.sort # TODO ???
11
+ end
12
+ end
13
+
14
+ def sections
15
+ @sections ||= Section.recognize(path.glob.delete_if { |path| path.filename == 'site' })
16
+ end
17
+
18
+ def host
19
+ @host ||= read.host || File.basename(path.root)
20
+ end
21
+
22
+ def name
23
+ @name ||= read.name || host.titleize
24
+ end
25
+
26
+ def title
27
+ @title ||= read.title || name
28
+ end
29
+
30
+ def data
31
+ super.merge(:sections => sections, :host => host, :name => name, :title => title)
32
+ end
33
+
34
+ protected
35
+
36
+ def loadable
37
+ @loadable ||= path.join('site.yml')
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
44
+
@@ -0,0 +1,38 @@
1
+ require 'adva'
2
+ require 'rack/server'
3
+
4
+ module Adva
5
+ class Static
6
+ module Server
7
+ PURGE_HEADER = 'rack-cache.purge'
8
+ STORE_HEADER = 'rack-static.store'
9
+
10
+ autoload :Request, 'adva/static/server/request'
11
+ autoload :Export, 'adva/static/server/export'
12
+ autoload :Static, 'adva/static/server/static'
13
+ autoload :Watch, 'adva/static/server/watch'
14
+
15
+ class << self
16
+ def start(options = {})
17
+ require 'config/environment.rb'
18
+
19
+ Rails::Application.configure do
20
+ ActionController::Base.allow_forgery_protection = false
21
+ end
22
+
23
+ app = ::Rack::Builder.new {
24
+ use Adva::Static::Server::Watch
25
+ use Adva::Static::Server::Export
26
+ use Adva::Static::Server::Static, File.expand_path(options[:root])
27
+ run Rails.application
28
+ }.to_app
29
+
30
+ server = ::Rack::Server.new(:environment => options[:environment], :Port => options[:port])
31
+ server.instance_variable_set(:@app, app) # TODO remove this once we can use rack-1.3.0
32
+ server.start
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
38
+
@@ -2,7 +2,7 @@ require 'fileutils'
2
2
 
3
3
  module Adva
4
4
  class Static
5
- module Rack
5
+ module Server
6
6
  class Export
7
7
  include Request
8
8
 
@@ -2,7 +2,7 @@ require 'rack/utils'
2
2
 
3
3
  module Adva
4
4
  class Static
5
- module Rack
5
+ module Server
6
6
  module Request
7
7
  protected
8
8
  def request(method, path, params = {})
@@ -2,7 +2,7 @@ require 'rack/utils'
2
2
 
3
3
  module Adva
4
4
  class Static
5
- module Rack
5
+ module Server
6
6
  class Static < ::Rack::File
7
7
  attr_reader :app, :root
8
8
 
@@ -37,4 +37,4 @@ module Adva
37
37
  end
38
38
  end
39
39
  end
40
- end
40
+ end
@@ -2,9 +2,9 @@ require 'watchr'
2
2
 
3
3
  module Adva
4
4
  class Static
5
- module Rack
5
+ module Server
6
6
  class Watch
7
- autoload :Handler, 'adva/static/watch/handler'
7
+ autoload :Handler, 'adva/static/server/watch/handler'
8
8
 
9
9
  include Request
10
10
 
@@ -21,7 +21,7 @@ module Adva
21
21
 
22
22
  def update(path, event_type = nil)
23
23
  Adva.out.puts "\n#{event_type}: #{path}"
24
- import = Adva::Static::Import.new(:source => dir)
24
+ import = Import.new(:source => dir)
25
25
  request = import.request_for(path)
26
26
  status, headers, response = self.request('POST', request.path, request.params)
27
27
  response = get(path) if !request.destroy? && status == 302
@@ -70,7 +70,7 @@ module Adva
70
70
  end
71
71
 
72
72
  def handler
73
- @handler ||= Adva::Static::Watch::Handler.new(self, dir.join("**/*.{#{Import::Source::TYPES.join(',')}}"))
73
+ @handler ||= Handler.new(self, dir.join("**/*.{#{Import::Source::Path::TYPES.join(',')}}"))
74
74
  end
75
75
 
76
76
  def kill_watch
@@ -0,0 +1,57 @@
1
+ require 'observer'
2
+
3
+ module Adva
4
+ class Static
5
+ module Server
6
+ class Watch
7
+ class Handler
8
+ include Observable
9
+
10
+ def initialize(observable, pattern)
11
+ add_observer(observable)
12
+ @pattern = pattern
13
+ @current = Dir[pattern]
14
+ @mtime = Time.now
15
+ end
16
+
17
+ def listen
18
+ loop { trigger; sleep(0.5) }
19
+ end
20
+
21
+ def trigger
22
+ events.each do |path, event|
23
+ changed(true)
24
+ notify_observers(path.dup, event)
25
+ end
26
+ end
27
+
28
+ protected
29
+
30
+ def events
31
+ @last = @current.dup
32
+ @current = Dir[@pattern]
33
+ deleted + created + modified
34
+ end
35
+
36
+ def modified
37
+ (@current & @last).each do |path|
38
+ mtime = File.mtime(path)
39
+ if mtime > @mtime
40
+ @mtime = mtime
41
+ return [[path, :modified]]
42
+ end
43
+ end && []
44
+ end
45
+
46
+ def created
47
+ (@current - @last).map { |path| [path, :created] }
48
+ end
49
+
50
+ def deleted
51
+ (@last - @current).map { |path| [path, :deleted] }
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
@@ -62,12 +62,11 @@ module Adva
62
62
  namespace 'adva:static:server'
63
63
  desc 'Start the adva:static server and watcher'
64
64
  class_option :root, :required => false, :default => 'export'
65
+ class_option :env, :required => false, :default => 'development'
66
+ class_option :port, :required => false, :default => '9292'
65
67
 
66
68
  def server
67
- ARGV.shift
68
- Dir.chdir(symbolized_options[:root])
69
- require "rack"
70
- ::Rack::Server.start
69
+ Adva::Static::Server.start(symbolized_options)
71
70
  end
72
71
  end
73
72
  end
@@ -1,3 +1,3 @@
1
1
  module AdvaStatic
2
- VERSION = "0.0.9"
2
+ VERSION = "0.0.11"
3
3
  end
@@ -1,10 +1,12 @@
1
1
  Given /^an empty import directory "([^"]+)"$/ do |name|
2
2
  @import_dir = Pathname.new("/tmp/adva-static-test/import/#{name}")
3
+ import_dir.rmtree if import_dir.exist?
3
4
  import_dir.mkpath
4
5
  end
5
6
 
6
7
  Given /^an empty export directory$/ do
7
8
  @export_dir = Pathname.new("/tmp/adva-static-test/export")
9
+ export_dir.rmtree if export_dir.exist?
8
10
  export_dir.mkpath
9
11
  end
10
12
 
@@ -18,6 +20,7 @@ end
18
20
 
19
21
  Given /^the following source files:$/ do |table|
20
22
  table.hashes.each do |hash|
23
+ hash = Hash[*hash.map { |key, value| [key, value] unless value.blank? }.compact.flatten]
21
24
  setup_files([hash.delete('file'), YAML.dump(hash)])
22
25
  end
23
26
  end
@@ -1,7 +1,7 @@
1
1
  module TestHelper
2
2
  module Static
3
3
  def setup
4
- setup_import_directory
4
+ import_dir.mkpath
5
5
  super
6
6
  end
7
7
 
@@ -14,11 +14,11 @@ module TestHelper
14
14
  end
15
15
 
16
16
  def import_dir
17
- @import_dir ||= Pathname.new('/tmp/adva-static-test/import/ruby-i18n.org')
17
+ Adva::Static::Import::Source::Path.new('/tmp/adva-static-test/import')
18
18
  end
19
19
 
20
20
  def export_dir
21
- @export_dir ||= Pathname.new('/tmp/adva-static-test/export')
21
+ Pathname.new('/tmp/adva-static-test/export')
22
22
  end
23
23
 
24
24
  def teardown
@@ -26,24 +26,26 @@ module TestHelper
26
26
  super
27
27
  end
28
28
 
29
- def request(path)
30
- Adva::Static::Import.new(:source => import_dir).request_for(path)
31
- end
32
-
33
- def source(path)
34
- Adva::Static::Import::Source.new(path, import_dir)
35
- end
36
-
37
29
  def setup_site_record
38
- Factory(:site, :host => 'ruby-i18n.org')
30
+ Factory(:site, :host => 'ruby-i18n.org').tap do |site|
31
+ # FIXME this stinks. make static export authentication possible without saving the password anywhere.
32
+ #
33
+ # because the password for the admin is hardcoded in adva-static//request
34
+ # and the admin is created automatically with a different password we
35
+ # have to override this here
36
+ admin = User.find_by_email( 'admin@admin.org' )
37
+ admin.password = 'admin!'
38
+ admin.password_confirmation = 'admin!'
39
+ admin.save!
40
+ end
39
41
  end
40
42
 
41
43
  def setup_root_page_record
42
- setup_site_record
44
+ Site.first || setup_site_record
43
45
  end
44
46
 
45
47
  def setup_non_root_page_record
46
- site = setup_site_record
48
+ site = Site.first || setup_site_record
47
49
  site.pages.create!(:name => 'Contact')
48
50
  end
49
51
 
@@ -51,16 +53,12 @@ module TestHelper
51
53
  site = setup_site_record
52
54
  site.pages.first.destroy
53
55
 
54
- site.blogs.create!(:name => 'Home', :posts_attributes => [
55
- { :title => 'Welcome to the future of I18n in Ruby on Rails', :body => 'Welcome to the future!', :published_at => '2008-07-31' }
56
- ])
56
+ site.blogs.create!(:name => 'Home', :posts_attributes => [{ :title => 'Post', :body => 'body', :published_at => '2010-10-10' }])
57
57
  end
58
58
 
59
59
  def setup_non_root_blog_record
60
60
  site = setup_site_record
61
- site.blogs.create!(:name => 'Blog', :posts_attributes => [
62
- { :title => 'Welcome to the future of I18n in Ruby on Rails', :body => 'Welcome to the future!', :published_at => '2008-07-31' }
63
- ])
61
+ site.blogs.create!(:name => 'Blog', :posts_attributes => [{ :title => 'Post', :body => 'body', :published_at => '2010-10-10' }])
64
62
  end
65
63
 
66
64
  def setup_import_directory
@@ -69,17 +67,24 @@ module TestHelper
69
67
  setup_files(['config.ru', 'foo'], ['site.yml', YAML.dump(:host => 'ruby-i18n.org', :name => 'Ruby I18n', :title => 'Ruby I18n')])
70
68
  end
71
69
 
70
+ def setup_site
71
+ import_dir.mkpath
72
+ setup_files(
73
+ ['site.yml', YAML.dump(:host => 'ruby-i18n.org', :name => 'name', :title => 'title')]
74
+ )
75
+ end
76
+
72
77
  def setup_root_blog
73
78
  setup_files(
74
- ['2008/07/31/welcome-to-the-future-of-i18n-in-ruby-on-rails.yml', YAML.dump(:body => 'Welcome to the future')],
75
- ['2009/07/12/ruby-i18n-gem-hits-0-2-0.yml', YAML.dump(:body => 'Ruby I18n hits 0.2.0')]
79
+ ['2010/10/10/post.yml', YAML.dump(:filter => 'markdown', :body => 'body', :categories => 'foo, bar')],
80
+ ['2010/10/09/hello-world.yml', YAML.dump(:filter => 'markdown', :body => 'hello world!')]
76
81
  )
77
82
  end
78
83
 
79
84
  def setup_non_root_blog
80
85
  setup_files(
81
- ['blog/2008/07/31/welcome-to-the-future-of-i18n-in-ruby-on-rails.yml', YAML.dump(:body => 'Welcome to the future')],
82
- ['blog/2009/07/12/ruby-i18n-gem-hits-0-2-0.yml', YAML.dump(:body => 'Ruby I18n hits 0.2.0')]
86
+ ['blog/2010/10/10/post.yml', YAML.dump(:filter => 'markdown', :body => 'body', :categories => 'foo, bar')],
87
+ ['blog/2010/10/09/hello-world.yml', YAML.dump(:filter => 'markdown', :body => 'hello world!')]
83
88
  )
84
89
  end
85
90
 
@@ -114,16 +119,16 @@ module TestHelper
114
119
  end
115
120
 
116
121
  def setup_dirs(paths)
117
- paths.each do |path|
118
- FileUtils.mkdir_p(import_dir.join(path))
119
- end
122
+ paths.each { |path| FileUtils.mkdir_p(import_dir.join(path)) }
120
123
  end
121
124
 
122
125
  def setup_files(*files)
123
- files.each do |path, content|
124
- import_dir.join(File.dirname(path)).mkpath
125
- File.open(import_dir.join(path), 'w') { |f| f.write(content) }
126
- end
126
+ files.each { |path, content| setup_file(path, content) }
127
+ end
128
+
129
+ def setup_file(path, content = '')
130
+ import_dir.join(File.dirname(path)).mkpath
131
+ File.open(import_dir.join(path), 'w') { |f| f.write(content) }
127
132
  end
128
133
 
129
134
  def future
metadata CHANGED
@@ -1,152 +1,193 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: adva-static
3
- version: !ruby/object:Gem::Version
4
- hash: 13
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.11
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 0
9
- - 9
10
- version: 0.0.9
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Sven Fuchs
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2011-02-28 00:00:00 +01:00
12
+ date: 2011-07-28 00:00:00.000000000 +02:00
19
13
  default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
22
16
  name: adva-core
17
+ requirement: &2163331280 !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
22
+ version: '0'
23
+ type: :runtime
23
24
  prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
25
+ version_requirements: *2163331280
26
+ - !ruby/object:Gem::Dependency
27
+ name: adva-blog
28
+ requirement: &2163330860 !ruby/object:Gem::Requirement
25
29
  none: false
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- hash: 3
30
- segments:
31
- - 0
32
- version: "0"
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
33
34
  type: :runtime
34
- version_requirements: *id001
35
- - !ruby/object:Gem::Dependency
36
- name: nokogiri
37
35
  prerelease: false
38
- requirement: &id002 !ruby/object:Gem::Requirement
36
+ version_requirements: *2163330860
37
+ - !ruby/object:Gem::Dependency
38
+ name: adva-cache
39
+ requirement: &2163330440 !ruby/object:Gem::Requirement
39
40
  none: false
40
- requirements:
41
- - - ">="
42
- - !ruby/object:Gem::Version
43
- hash: 3
44
- segments:
45
- - 0
46
- version: "0"
41
+ requirements:
42
+ - - ! '>='
43
+ - !ruby/object:Gem::Version
44
+ version: '0'
45
+ type: :runtime
46
+ prerelease: false
47
+ version_requirements: *2163330440
48
+ - !ruby/object:Gem::Dependency
49
+ name: adva-categories
50
+ requirement: &2163330020 !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ! '>='
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ type: :runtime
57
+ prerelease: false
58
+ version_requirements: *2163330020
59
+ - !ruby/object:Gem::Dependency
60
+ name: adva-markup
61
+ requirement: &2163329600 !ruby/object:Gem::Requirement
62
+ none: false
63
+ requirements:
64
+ - - ! '>='
65
+ - !ruby/object:Gem::Version
66
+ version: '0'
67
+ type: :runtime
68
+ prerelease: false
69
+ version_requirements: *2163329600
70
+ - !ruby/object:Gem::Dependency
71
+ name: nokogiri
72
+ requirement: &2163329180 !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
47
78
  type: :runtime
48
- version_requirements: *id002
49
- - !ruby/object:Gem::Dependency
50
- name: rack-cache
51
79
  prerelease: false
52
- requirement: &id003 !ruby/object:Gem::Requirement
80
+ version_requirements: *2163329180
81
+ - !ruby/object:Gem::Dependency
82
+ name: rack-cache
83
+ requirement: &2163328760 !ruby/object:Gem::Requirement
53
84
  none: false
54
- requirements:
55
- - - ">="
56
- - !ruby/object:Gem::Version
57
- hash: 3
58
- segments:
59
- - 0
60
- version: "0"
85
+ requirements:
86
+ - - ! '>='
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
61
89
  type: :runtime
62
- version_requirements: *id003
63
- - !ruby/object:Gem::Dependency
90
+ prerelease: false
91
+ version_requirements: *2163328760
92
+ - !ruby/object:Gem::Dependency
64
93
  name: watchr
94
+ requirement: &2163328340 !ruby/object:Gem::Requirement
95
+ none: false
96
+ requirements:
97
+ - - ! '>='
98
+ - !ruby/object:Gem::Version
99
+ version: '0'
100
+ type: :runtime
65
101
  prerelease: false
66
- requirement: &id004 !ruby/object:Gem::Requirement
102
+ version_requirements: *2163328340
103
+ - !ruby/object:Gem::Dependency
104
+ name: hashr
105
+ requirement: &2163327920 !ruby/object:Gem::Requirement
67
106
  none: false
68
- requirements:
69
- - - ">="
70
- - !ruby/object:Gem::Version
71
- hash: 3
72
- segments:
73
- - 0
74
- version: "0"
107
+ requirements:
108
+ - - ! '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
75
111
  type: :runtime
76
- version_requirements: *id004
77
- description: Static engine for adva-cms2
112
+ prerelease: false
113
+ version_requirements: *2163327920
114
+ - !ruby/object:Gem::Dependency
115
+ name: sqlite3
116
+ requirement: &2163327500 !ruby/object:Gem::Requirement
117
+ none: false
118
+ requirements:
119
+ - - ! '>='
120
+ - !ruby/object:Gem::Version
121
+ version: '0'
122
+ type: :runtime
123
+ prerelease: false
124
+ version_requirements: *2163327500
125
+ description: Static engine for adva-cms2.
78
126
  email: nobody@adva-cms.org
79
127
  executables: []
80
-
81
128
  extensions: []
82
-
83
129
  extra_rdoc_files: []
84
-
85
- files:
86
- - lib/adva_static/version.rb
87
- - lib/adva-static.rb
88
- - lib/adva/tasks/static.rb
89
- - lib/adva/static/setup.rb
130
+ files:
131
+ - lib/adva/static/export/page.rb
132
+ - lib/adva/static/export/path.rb
133
+ - lib/adva/static/export/queue.rb
134
+ - lib/adva/static/export/store.rb
135
+ - lib/adva/static/export/templates/config.ru
90
136
  - lib/adva/static/export.rb
91
137
  - lib/adva/static/import/format.rb
92
- - lib/adva/static/import/source.rb
93
- - lib/adva/static/import/model.rb
138
+ - lib/adva/static/import/model/base.rb
139
+ - lib/adva/static/import/model/blog.rb
94
140
  - lib/adva/static/import/model/page.rb
95
- - lib/adva/static/import/model/site.rb
96
141
  - lib/adva/static/import/model/post.rb
97
142
  - lib/adva/static/import/model/section.rb
98
- - lib/adva/static/import/model/base.rb
99
- - lib/adva/static/import/model/blog.rb
143
+ - lib/adva/static/import/model/site.rb
144
+ - lib/adva/static/import/model.rb
100
145
  - lib/adva/static/import/request.rb
101
- - lib/adva/static/watch.rb
102
- - lib/adva/static/export/page.rb
103
- - lib/adva/static/export/templates/config.ru
104
- - lib/adva/static/export/path.rb
105
- - lib/adva/static/export/store.rb
106
- - lib/adva/static/export/queue.rb
107
- - lib/adva/static/rack/export.rb
108
- - lib/adva/static/rack/watch.rb
109
- - lib/adva/static/rack/static.rb
110
- - lib/adva/static/rack/request.rb
111
- - lib/adva/static/rack.rb
112
- - lib/adva/static/watch/handler.rb
146
+ - lib/adva/static/import/source/base.rb
147
+ - lib/adva/static/import/source/blog.rb
148
+ - lib/adva/static/import/source/page.rb
149
+ - lib/adva/static/import/source/path.rb
150
+ - lib/adva/static/import/source/post.rb
151
+ - lib/adva/static/import/source/section.rb
152
+ - lib/adva/static/import/source/site.rb
153
+ - lib/adva/static/import/source.rb
113
154
  - lib/adva/static/import.rb
155
+ - lib/adva/static/server/export.rb
156
+ - lib/adva/static/server/request.rb
157
+ - lib/adva/static/server/static.rb
158
+ - lib/adva/static/server/watch/handler.rb
159
+ - lib/adva/static/server/watch.rb
160
+ - lib/adva/static/server.rb
161
+ - lib/adva/static/setup.rb
114
162
  - lib/adva/static.rb
115
- - lib/testing/test_helper.rb
163
+ - lib/adva/tasks/static.rb
164
+ - lib/adva-static.rb
165
+ - lib/adva_static/version.rb
116
166
  - lib/testing/step_definitions.rb
167
+ - lib/testing/test_helper.rb
117
168
  has_rdoc: true
118
169
  homepage: http://github.com/svenfuchs/adva-cms2
119
170
  licenses: []
120
-
121
171
  post_install_message:
122
172
  rdoc_options: []
123
-
124
- require_paths:
173
+ require_paths:
125
174
  - lib
126
- required_ruby_version: !ruby/object:Gem::Requirement
175
+ required_ruby_version: !ruby/object:Gem::Requirement
127
176
  none: false
128
- requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- hash: 3
132
- segments:
133
- - 0
134
- version: "0"
135
- required_rubygems_version: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ! '>='
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ required_rubygems_version: !ruby/object:Gem::Requirement
136
182
  none: false
137
- requirements:
138
- - - ">="
139
- - !ruby/object:Gem::Version
140
- hash: 3
141
- segments:
142
- - 0
143
- version: "0"
183
+ requirements:
184
+ - - ! '>='
185
+ - !ruby/object:Gem::Version
186
+ version: '0'
144
187
  requirements: []
145
-
146
- rubyforge_project: "[none]"
147
- rubygems_version: 1.4.2
188
+ rubyforge_project: ! '[none]'
189
+ rubygems_version: 1.6.2
148
190
  signing_key:
149
191
  specification_version: 3
150
192
  summary: Static engine for adva-cms2
151
193
  test_files: []
152
-