jackfs 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,5 +1,6 @@
1
1
  require 'base64'
2
2
  require 'fileutils'
3
+ require 'uri'
3
4
 
4
5
  begin
5
6
  require 'sequel/no_core_ext'
@@ -21,7 +22,7 @@ module Jackfs
21
22
  FileUtils.mkdir_p temp_file_path
22
23
 
23
24
  yml = YAML.load_file(config_file)[@app_env.to_s]
24
- @connection = yml["connection"]
25
+ @connection = uri_escape(yml["connection"])
25
26
  @table_name = yml["table_name"]
26
27
 
27
28
  # Clean up temp files
@@ -36,6 +37,7 @@ module Jackfs
36
37
  :created_at => Time.now,
37
38
  :updated_at => Time.now
38
39
  )
40
+ name
39
41
  end
40
42
 
41
43
  def get(name)
@@ -73,5 +75,13 @@ module Jackfs
73
75
  File.join(@app_root, Jackfs::FileStore::CONFIG_FILE)
74
76
  end
75
77
 
78
+ def uri_escape(uri)
79
+ begin
80
+ URI.escape(uri)
81
+ rescue Exception => e
82
+ $stdout.puts "Error encountered when parsing #{uri} - #{e.message}"
83
+ end
84
+ end
85
+
76
86
  end
77
87
  end
@@ -1,3 +1,3 @@
1
1
  module Jackfs
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
@@ -25,7 +25,18 @@ describe "Jackfs Db Adapter" do
25
25
  end
26
26
 
27
27
  it "should save the file in db using the given name" do
28
- @dba.store(File.open(File.dirname(__FILE__) + '/../fixtures/test.pdf', 'r'),"COOLBEANS").should == true
28
+ @dba.store(File.open(File.dirname(__FILE__) + '/../fixtures/test.pdf', 'r'),"COOLBEANS").should eq("COOLBEANS")
29
+ end
30
+
31
+ it "should allow connection string with odd characters" do
32
+ @dba.connection = "sqlite://root:abc!#%@test.db"
33
+ @dba.uri_escape(@dba.connection).should eq("sqlite://root:abc!%23%25@test.db")
34
+ end
35
+
36
+ it "should throw an error when connection string is bad URI" do
37
+ URI.stub!(:escape).and_raise(Exception)
38
+ $stdout.should_receive(:puts).with('Error encountered when parsing sqlite://test.db - Exception')
39
+ @dba.uri_escape(@dba.connection)
29
40
  end
30
41
 
31
42
  # it "should get a file from a configured from db" do
data/spec/spec_helper.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require 'rspec'
2
2
  require 'fileutils'
3
3
  require 'yaml'
4
+ require 'uri'
4
5
 
5
6
 
6
7
  $: << File.join(File.dirname(__FILE__), '..', 'lib')
metadata CHANGED
@@ -1,55 +1,60 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: jackfs
3
- version: !ruby/object:Gem::Version
4
- version: 0.0.3
3
+ version: !ruby/object:Gem::Version
4
+ hash: 23
5
5
  prerelease:
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 4
10
+ version: 0.0.4
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Jack Russell Software
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
- date: 2013-04-04 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
17
+
18
+ date: 2013-04-23 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
15
21
  name: sequel
16
- requirement: !ruby/object:Gem::Requirement
17
- none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
21
- version: '0'
22
- type: :runtime
23
22
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ! '>='
28
- - !ruby/object:Gem::Version
29
- version: '0'
30
- - !ruby/object:Gem::Dependency
31
- name: aws-s3
32
- requirement: !ruby/object:Gem::Requirement
23
+ requirement: &id001 !ruby/object:Gem::Requirement
33
24
  none: false
34
- requirements:
35
- - - ! '>='
36
- - !ruby/object:Gem::Version
37
- version: '0'
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ hash: 3
29
+ segments:
30
+ - 0
31
+ version: "0"
38
32
  type: :runtime
33
+ version_requirements: *id001
34
+ - !ruby/object:Gem::Dependency
35
+ name: aws-s3
39
36
  prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
37
+ requirement: &id002 !ruby/object:Gem::Requirement
41
38
  none: false
42
- requirements:
43
- - - ! '>='
44
- - !ruby/object:Gem::Version
45
- version: '0'
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ hash: 3
43
+ segments:
44
+ - 0
45
+ version: "0"
46
+ type: :runtime
47
+ version_requirements: *id002
46
48
  description: This is an description for the fs gem we use
47
- email:
49
+ email:
48
50
  - team@jackrussellsoftware.com
49
51
  executables: []
52
+
50
53
  extensions: []
54
+
51
55
  extra_rdoc_files: []
52
- files:
56
+
57
+ files:
53
58
  - .gitignore
54
59
  - CHANGELOG
55
60
  - Gemfile
@@ -70,31 +75,40 @@ files:
70
75
  - spec/adapters/s3_adapter_spec.rb
71
76
  - spec/fixtures/test.pdf
72
77
  - spec/spec_helper.rb
73
- homepage: ''
78
+ homepage: ""
74
79
  licenses: []
80
+
75
81
  post_install_message:
76
82
  rdoc_options: []
77
- require_paths:
83
+
84
+ require_paths:
78
85
  - lib
79
- required_ruby_version: !ruby/object:Gem::Requirement
86
+ required_ruby_version: !ruby/object:Gem::Requirement
80
87
  none: false
81
- requirements:
82
- - - ! '>='
83
- - !ruby/object:Gem::Version
84
- version: '0'
85
- required_rubygems_version: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - ">="
90
+ - !ruby/object:Gem::Version
91
+ hash: 3
92
+ segments:
93
+ - 0
94
+ version: "0"
95
+ required_rubygems_version: !ruby/object:Gem::Requirement
86
96
  none: false
87
- requirements:
88
- - - ! '>='
89
- - !ruby/object:Gem::Version
90
- version: '0'
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ hash: 3
101
+ segments:
102
+ - 0
103
+ version: "0"
91
104
  requirements: []
105
+
92
106
  rubyforge_project: jackfs
93
- rubygems_version: 1.8.25
107
+ rubygems_version: 1.8.23
94
108
  signing_key:
95
109
  specification_version: 3
96
110
  summary: This is a fs gem we use
97
- test_files:
111
+ test_files:
98
112
  - spec/adapters/db_adapter_spec.rb
99
113
  - spec/adapters/file_adapter_spec.rb
100
114
  - spec/adapters/s3_adapter_spec.rb