m2config 0.4.0 → 0.5.0

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: 409e5df6b21362f88633bc922d489f2c17ec6a46
4
- data.tar.gz: a97d5200c35196fac07995abc668330bfe8bf9f7
3
+ metadata.gz: 22149dceed17d88788e956fe65fbf666350426e3
4
+ data.tar.gz: 6c8871d2b828cdd74696d14c7e647c8b5d87b301
5
5
  SHA512:
6
- metadata.gz: c916730148ca203090fb412222e5f7386bb8c65c51b6b91b63f8d0c9a6f134165d76fc3ee862ff2d0a1df961e9d380af56a638564d22c48ff8cbf208bd52f709
7
- data.tar.gz: e79f22f6bb17f04321cf68de59bdb33e2c5def72ed632a34cdb59338190e4e87d875c9dc641066aa471725dc4d441c7113dcd8b1ddd50c5a0e2e25c79ba6db41
6
+ metadata.gz: 87479944f11ec8be606b18ba960e4bc8178dd65d5cba95a40463cfd79a3d0038781dc6f1d242b82c92b8af66fc86add5753566abcfe58833783f01f3f2f65b39
7
+ data.tar.gz: 77d1fab253e7b2782f47c15eb3dcbf7fa9bb8fbbf41f9f0fc3cb5ec8e4990b51e10ed8039cbfe3b13ee2d8e0210b6f16bf393c21bd537c29a9f7b0812ec02761
data/Gemfile CHANGED
@@ -1,6 +1,7 @@
1
1
  source "https://rubygems.org"
2
2
 
3
3
  gemspec
4
+ gem 'mime-types', git: "git://github.com/ameuret/mime-types.git", branch: 'enumerable'
4
5
 
5
6
  group :dev do
6
7
  gem 'guard'
@@ -0,0 +1,24 @@
1
+ require "mime/types"
2
+
3
+ module M2Config
4
+ class MimeType < Sequel::Model(:mimetype)
5
+
6
+ def self.populate_table
7
+ rows = []
8
+ MIME::Types.each {
9
+ |type|
10
+ type.extensions.each {
11
+ |ext|
12
+ rows << [type.content_type, ext]
13
+ }
14
+ }
15
+ db[:mimetype].import([:mimetype, :extension], rows)
16
+ end
17
+
18
+ def initialize( fields )
19
+ super(fields, false)
20
+ save
21
+ end
22
+
23
+ end
24
+ end
@@ -1,3 +1,3 @@
1
1
  module M2Config
2
- VERSION = "0.4.0"
2
+ VERSION = "0.5.0"
3
3
  end
data/lib/m2config.rb CHANGED
@@ -28,8 +28,9 @@ module M2Config
28
28
  creating = ! (File.exists? @fileName)
29
29
  @db = Sequel.connect "sqlite://#{@fileName}"
30
30
 
31
- @db.run SCHEMA if creating
32
31
 
32
+ @db.run SCHEMA if creating
33
+
33
34
  Sequel::Model.db = @db
34
35
 
35
36
  require "m2config/server"
@@ -39,6 +40,9 @@ module M2Config
39
40
  require "m2config/proxy"
40
41
  require "m2config/handler"
41
42
  require "m2config/setting"
43
+ require "m2config/mimetype"
44
+
45
+ M2Config::MimeType.populate_table if creating
42
46
  end
43
47
 
44
48
  def add_server( settings = {} )
data/m2config.gemspec CHANGED
@@ -20,6 +20,7 @@ Gem::Specification.new do |spec|
20
20
  spec.add_dependency "sqlite3"
21
21
  spec.add_dependency "sequel"
22
22
  spec.add_dependency "uuid"
23
+ spec.add_dependency "mime-types"
23
24
 
24
25
  spec.add_development_dependency "bundler", "~> 1.3"
25
26
  spec.add_development_dependency "rake"
data/sample/full.rb CHANGED
@@ -5,7 +5,7 @@ include M2Config
5
5
  cfg = M2Config::Config.new
6
6
  server = M2Config::Server.new
7
7
  exComHost = M2Config::Host.new({matching:"example.com", name:"ex"})
8
- pubDir = M2Config::Dir.new({base:"public/"})
8
+ pubDir = M2Config::Dir.new({base:"public/",default_ctype: "text/html"})
9
9
  pubRoute = M2Config::Route.new( {path:"/", target:pubDir} )
10
10
  appHand = M2Config::Handler.new({ send_spec:"tcp://10.0.0.1:8989",
11
11
  recv_spec:"tcp://10.0.0.1:9898",
@@ -4,27 +4,26 @@ TABLES = %w(directory handler host log mimetype proxy route server setting stati
4
4
 
5
5
  describe M2Config do
6
6
 
7
- before(:all) do
8
- end
9
-
10
- after(:each) do
11
- @db.close if @db && !@db.closed?
12
- end
7
+ describe "::new" do
8
+ it 'creates a default database when name absent' do
9
+ File.should exist DEFAULT_DB_NAME
10
+ end
13
11
 
14
- it 'creates a default database when name absent' do
15
- File.should exist DEFAULT_DB_NAME
16
- end
12
+ it 'learns the DB schema from the official schema dump' do
13
+ for table in TABLES do
14
+ M2Config::Config.tables.should include table
15
+ end
16
+ end
17
17
 
18
- it 'learns the DB schema from the official schema dump' do
19
- for table in TABLES do
20
- M2Config::Config.tables.should include table
18
+ it 'creates a valid database structure' do
19
+ for table in M2Config::Config.tables do
20
+ expect {CFG.db["SELECT * FROM #{table};"].first}.to_not raise_error
21
+ end
21
22
  end
22
- end
23
23
 
24
- it 'creates a valid database structure' do
25
- @db = SQLite3::Database.new DEFAULT_DB_NAME
26
- for table in M2Config::Config.tables do
27
- expect {@db.execute("SELECT * FROM #{table};")}.to_not raise_error
24
+ it 'populates the MIME table with a nice set of mappings' do
25
+ M2Config::MimeType[extension:"html"].mimetype.should eq("text/html")
26
+ M2Config::MimeType[extension:"css"].mimetype.should eq("text/css")
28
27
  end
29
28
  end
30
29
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: m2config
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arnaud Meuret
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-03-29 00:00:00.000000000 Z
11
+ date: 2013-04-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sqlite3
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - '>='
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: mime-types
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: bundler
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -98,6 +112,7 @@ files:
98
112
  - lib/m2config/dir.rb
99
113
  - lib/m2config/handler.rb
100
114
  - lib/m2config/host.rb
115
+ - lib/m2config/mimetype.rb
101
116
  - lib/m2config/proxy.rb
102
117
  - lib/m2config/route.rb
103
118
  - lib/m2config/schema.sql