adva-static 0.0.9 → 0.0.11

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.
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
-