dax 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore ADDED
@@ -0,0 +1,5 @@
1
+ .rvmrc
2
+ *.gem
3
+ .bundle
4
+ Gemfile.lock
5
+ pkg/*
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ # encoding: utf-8
2
+ source :rubygems
3
+ gemspec
data/LICENSE ADDED
@@ -0,0 +1,18 @@
1
+ Copyright (C) 2012 by Kendall Gifford
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
4
+ this software and associated documentation files (the "Software"), to deal in
5
+ the Software without restriction, including without limitation the rights to
6
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
7
+ the Software, and to permit persons to whom the Software is furnished to do so,
8
+ subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in all
11
+ copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
15
+ FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
16
+ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
17
+ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
18
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.rdoc ADDED
@@ -0,0 +1,12 @@
1
+ = Data Access Abstraction (dax) Gem
2
+
3
+ This gem provides an abstraction layer with a consistent API around access files
4
+ in your ruby application. Files are stored in one or more "file silos" each of
5
+ which may abstract access to a cloud file storage service, a remote server, a
6
+ version control system (VCS), or a local file-system directory.
7
+
8
+ The goal is to support all the major cloud services, remote file access
9
+ protocols, and VCS/SCM systems in addition to local file-system access. Also,
10
+ there will be a "managed" local file-system "file silo" type as well that will
11
+ manage file storage and provide extra features beyond those provided by simply
12
+ accessing the file-system directly.
data/Rakefile ADDED
@@ -0,0 +1,2 @@
1
+ # encoding: utf-8
2
+ require 'bundler/gem_tasks'
data/dax.gemspec ADDED
@@ -0,0 +1,28 @@
1
+ # encoding: utf-8
2
+ $:.push File.expand_path('../lib', __FILE__)
3
+ require 'dax/version'
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "dax"
7
+ s.version = Dax::VERSION
8
+ s.authors = ["Kendall Gifford"]
9
+ s.email = ["zettabyte@gmail.com"]
10
+ s.homepage = "https://github.com/zettabyte/dax"
11
+ s.summary = "Data access abstraction (dax) gem for file access."
12
+ s.description = <<-DESC.gsub(/^\s*/, '')
13
+ Data access abstraction (dax) gem for file access.
14
+
15
+ This gem provides access to one or more collections of files, called file
16
+ silos, through a consistent API. The file silos may abstract access to files
17
+ stored in cloud services, on remote servers, in a version control system, or
18
+ just stored locally.
19
+ DESC
20
+
21
+ s.files = `git ls-files`.split("\n")
22
+ s.test_files = `git ls-files -- features/*`.split("\n")
23
+ s.require_paths = %w{ lib }
24
+
25
+ s.add_development_dependency "bundler", "~> 1.1.3"
26
+ s.add_development_dependency "rake", "~> 0.9.2"
27
+ s.add_development_dependency "cucumber", "~> 1.1.9"
28
+ end
@@ -0,0 +1,21 @@
1
+ Feature: Mount file silo
2
+
3
+ In order to access and manage my files through dax
4
+ As a ruby application developer
5
+ I want to mount a file silo
6
+
7
+ The terminology "mount a file silo" is synonymous with "create a Dax::FileSilo
8
+ model object" since that's exactly what "mounting" does. Likewise, a created
9
+ Dax::FileSilo model object is also called a "mount point" by default.
10
+
11
+ Scenario: Mount a direct, file-system silo
12
+
13
+ A "direct, file-system silo" is one that simply exposes access to files
14
+ stored in a directory hierarcy located on the local system's file system.
15
+ The Dax::FileSilo instance is a Dax::FileSilo::DirectFileSystem sub-type.
16
+
17
+ Given a local directory named "direct"
18
+ When I mount it using a direct, file-system silo
19
+ And I name the file silo "test"
20
+ Then I can access a direct, file-system silo named "test"
21
+
data/lib/dax.rb ADDED
@@ -0,0 +1,3 @@
1
+ # encoding: utf-8
2
+ module Dax
3
+ end
@@ -0,0 +1,9 @@
1
+ # encoding: utf-8
2
+ module Dax
3
+ module Version
4
+ MAJOR = 0
5
+ MINOR = 0
6
+ TINY = 1
7
+ end
8
+ VERSION = [Version::MAJOR, Version::MINOR, Version::TINY].join('.')
9
+ end
metadata ADDED
@@ -0,0 +1,98 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: dax
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Kendall Gifford
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-04-14 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: bundler
16
+ requirement: &70292677891360 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: 1.1.3
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: *70292677891360
25
+ - !ruby/object:Gem::Dependency
26
+ name: rake
27
+ requirement: &70292677890860 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ~>
31
+ - !ruby/object:Gem::Version
32
+ version: 0.9.2
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: *70292677890860
36
+ - !ruby/object:Gem::Dependency
37
+ name: cucumber
38
+ requirement: &70292664206420 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ~>
42
+ - !ruby/object:Gem::Version
43
+ version: 1.1.9
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *70292664206420
47
+ description: ! 'Data access abstraction (dax) gem for file access.
48
+
49
+ This gem provides access to one or more collections of files, called file
50
+
51
+ silos, through a consistent API. The file silos may abstract access to files
52
+
53
+ stored in cloud services, on remote servers, in a version control system, or
54
+
55
+ just stored locally.
56
+
57
+ '
58
+ email:
59
+ - zettabyte@gmail.com
60
+ executables: []
61
+ extensions: []
62
+ extra_rdoc_files: []
63
+ files:
64
+ - .gitignore
65
+ - Gemfile
66
+ - LICENSE
67
+ - README.rdoc
68
+ - Rakefile
69
+ - dax.gemspec
70
+ - features/mount_file_silo.feature
71
+ - lib/dax.rb
72
+ - lib/dax/version.rb
73
+ homepage: https://github.com/zettabyte/dax
74
+ licenses: []
75
+ post_install_message:
76
+ rdoc_options: []
77
+ require_paths:
78
+ - lib
79
+ required_ruby_version: !ruby/object:Gem::Requirement
80
+ none: false
81
+ requirements:
82
+ - - ! '>='
83
+ - !ruby/object:Gem::Version
84
+ version: '0'
85
+ required_rubygems_version: !ruby/object:Gem::Requirement
86
+ none: false
87
+ requirements:
88
+ - - ! '>='
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ requirements: []
92
+ rubyforge_project:
93
+ rubygems_version: 1.8.10
94
+ signing_key:
95
+ specification_version: 3
96
+ summary: Data access abstraction (dax) gem for file access.
97
+ test_files:
98
+ - features/mount_file_silo.feature