cecelia 0.0.1

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.
data/Gemfile ADDED
@@ -0,0 +1,5 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in cecelia.gemspec
4
+ gemspec
5
+
data/Gemfile.lock ADDED
@@ -0,0 +1,14 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ cecelia (0.0.1)
5
+
6
+ GEM
7
+ remote: http://rubygems.org/
8
+ specs:
9
+
10
+ PLATFORMS
11
+ ruby
12
+
13
+ DEPENDENCIES
14
+ cecelia!
data/Rakefile ADDED
@@ -0,0 +1 @@
1
+ require "bundler/gem_tasks"
data/cecelia.gemspec ADDED
@@ -0,0 +1,28 @@
1
+ # -*- encoding: utf-8 -*-
2
+ lib = File.expand_path("../lib", __FILE__)
3
+ $:.unshift lib unless $:.include?(lib)
4
+ require "cecelia/version"
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = "cecelia"
8
+ s.version = Cecelia::VERSION
9
+ s.authors = ["Daichi ONODERA"]
10
+ s.email = ["onodes@onod.es"]
11
+ s.homepage = "https://github.com/onodes/cecelia"
12
+ s.summary = %q{cecelia}
13
+ s.description = %q{cecelia}
14
+
15
+ s.rubyforge_project = "cecelia"
16
+
17
+ s.files = `git ls-files`.split("\n")
18
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
19
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
20
+ s.require_paths = ["lib"]
21
+
22
+ # specify any dependencies here; for example:
23
+ # s.add_development_dependency "rspec"
24
+ # s.add_runtime_dependency "rest-client"
25
+ s.add_dependency('sqlite3')
26
+ s.add_dependency('rspec')
27
+ s.add_dependency('sequel')
28
+ end
@@ -0,0 +1,32 @@
1
+ require 'sequel'
2
+
3
+ class Graph
4
+ def initialize(db_name)
5
+ Sequel.sqlite(db_name)
6
+ require 'cecelia/graph_model.rb'
7
+ end
8
+
9
+ def add_vertex (attributes="")
10
+ Vertices.create(:attributes => attributes)
11
+ end
12
+
13
+ def add_edge(source,target,attributes="")
14
+ unless Vertices.find(:id => source) == nil && Vertices.find(:id => target) == nil
15
+ if ((Edges.filter(:source => source).filter(:target => target)).all).empty?
16
+ Edges.create(:source => source, :target => target, :attributes => attributes)
17
+ end
18
+ end
19
+ end
20
+
21
+ def verticies
22
+ Vertices.all
23
+ end
24
+
25
+ def edges
26
+ Edges.all
27
+ end
28
+
29
+ def neighbors(id)
30
+ Edges.filter(:source => id).all
31
+ end
32
+ end
@@ -0,0 +1,25 @@
1
+ require 'sequel'
2
+
3
+ Sequel::Model.plugin(:schema)
4
+
5
+ class Vertices < Sequel::Model
6
+ unless table_exists?
7
+ set_schema do
8
+ primary_key :id, :autoincrement => true
9
+ string :attributes
10
+ end
11
+ create_table
12
+ end
13
+ end
14
+
15
+ class Edges < Sequel::Model
16
+ unless table_exists?
17
+ set_schema do
18
+ primary_key :id, :autoincrement => true
19
+ integer :source
20
+ integet :target
21
+ string :attributes
22
+ end
23
+ create_table
24
+ end
25
+ end
@@ -0,0 +1,3 @@
1
+ module Cecelia
2
+ VERSION = "0.0.1"
3
+ end
data/lib/cecelia.rb ADDED
@@ -0,0 +1,6 @@
1
+ $:.unshift(File.dirname(__FILE__)) unless
2
+ $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
3
+ require "cecelia/graph"
4
+
5
+ class Cecelia < Graph
6
+ end
Binary file
metadata ADDED
@@ -0,0 +1,102 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: cecelia
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Daichi ONODERA
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-08-20 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: sqlite3
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ 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: rspec
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: sequel
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ description: cecelia
63
+ email:
64
+ - onodes@onod.es
65
+ executables: []
66
+ extensions: []
67
+ extra_rdoc_files: []
68
+ files:
69
+ - Gemfile
70
+ - Gemfile.lock
71
+ - Rakefile
72
+ - cecelia.gemspec
73
+ - lib/cecelia.rb
74
+ - lib/cecelia/graph.rb
75
+ - lib/cecelia/graph_model.rb
76
+ - lib/cecelia/version.rb
77
+ - pkg/cecelia-0.0.1.gem
78
+ homepage: https://github.com/onodes/cecelia
79
+ licenses: []
80
+ post_install_message:
81
+ rdoc_options: []
82
+ require_paths:
83
+ - lib
84
+ required_ruby_version: !ruby/object:Gem::Requirement
85
+ none: false
86
+ requirements:
87
+ - - ! '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ required_rubygems_version: !ruby/object:Gem::Requirement
91
+ none: false
92
+ requirements:
93
+ - - ! '>='
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ requirements: []
97
+ rubyforge_project: cecelia
98
+ rubygems_version: 1.8.24
99
+ signing_key:
100
+ specification_version: 3
101
+ summary: cecelia
102
+ test_files: []