m2config 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
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