sadie 0.0.52 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG +2 -1
  3. data/README +76 -22
  4. data/Rakefile +41 -1
  5. data/TODO +2 -31
  6. data/bin/sadie +17 -0
  7. data/bin/sadie_query_server +15 -0
  8. data/bin/sadie_server +27 -0
  9. data/bin/sadie_server.rb +23 -0
  10. data/doc/v2 +161 -0
  11. data/lib/primer.rb +201 -0
  12. data/lib/sadie/version.rb +1 -1
  13. data/lib/sadie_server.rb +59 -0
  14. data/lib/sadie_session.rb +194 -0
  15. data/lib/sadie_storage_manager.rb +60 -0
  16. data/lib/sadie_storage_mechanism.rb +18 -0
  17. data/lib/storage/memory.rb +24 -0
  18. data/sadie.gemspec +6 -2
  19. data/spec/primer.rb +167 -0
  20. data/spec/sadie_server.rb +39 -0
  21. data/spec/sadie_server_lib.rb +31 -0
  22. data/spec/sadie_session.rb +99 -0
  23. data/spec/storage_manager.rb +58 -0
  24. data/spec/storage_mechanisms/memory.rb +28 -0
  25. data/test/v2/test_installation/primers/minimal.rb +5 -0
  26. data/test/v2/test_installation/primers/onelevel/twolevel/test_subdir.rb +5 -0
  27. data/test/v2/test_installation/primers/test_after_each.rb +14 -0
  28. data/test/v2/test_installation/primers/test_after_key.rb +14 -0
  29. data/test/v2/test_installation/primers/test_before_each.rb +14 -0
  30. data/test/v2/test_installation/primers/test_before_key.rb +14 -0
  31. data/test/v2/test_installation/primers/test_expires_after_n_secs.rb +6 -0
  32. data/test/v2/test_installation/primers/test_expires_on_get.rb +6 -0
  33. data/test/v2/test_installation/primers/test_refresh.rb +10 -0
  34. metadata +84 -49
  35. data/lib/sadie/debug.rb +0 -1
  36. data/lib/sadie/defaults.rb +0 -14
  37. data/lib/sadie/primer_plugins/DatabaseConnection.plugin.rb +0 -80
  38. data/lib/sadie/primer_plugins/IniFile.plugin.rb +0 -23
  39. data/lib/sadie/primer_plugins/Resource.plugin.rb +0 -7
  40. data/lib/sadie/primer_plugins/SQLQueryTo2DArray.plugin.rb +0 -39
  41. data/lib/sadie/primer_plugins/TemplateTextFile.plugin.rb +0 -13
  42. data/lib/sadie.rb +0 -1315
  43. data/test/README +0 -9
  44. data/test/tc_sadie_toplevel.rb +0 -43
  45. data/test/tc_sadie_twodeep.rb +0 -48
  46. data/test/test_primers/.gitignore +0 -1
  47. data/test/test_primers/onedeep/multiresult.res +0 -5
  48. data/test/test_primers/toplevel.ini +0 -5
  49. data/test/test_primers/toplevel.somegroup.somekey.each +0 -15
  50. data/test/test_primers/toplevel_destructonget.res.rb +0 -9
  51. data/test/test_primers/toplevel_double.oneprime.each +0 -14
  52. data/test/test_primers/toplevel_double.res.rb +0 -5
  53. data/test/test_primers/toplevel_single.res.rb +0 -3
  54. data/test/test_primers/toplevel_testeach.res.rb +0 -4
  55. data/test/test_primers/two/deep/conf.ini +0 -2
  56. data/test/test_primers/two/deep/expensive.res +0 -3
  57. data/test/test_primers/two/deep/test.dbi.conx +0 -4
  58. data/test/test_primers/two/deep/test_template.txt.tmpl +0 -10
  59. data/test/test_primers/two/deep/testquery.test.sql2ar +0 -1
  60. data/test/test_primers/two/deep/testquery.test.sql2ar.each +0 -16
  61. data/test/test_primers/two/deep/two_results.res +0 -8
data/test/README DELETED
@@ -1,9 +0,0 @@
1
- These tests depend on a mysql database created as follows on the local machine:
2
-
3
- create database test
4
- grant all on test.* to test@localhost identified by 'test'
5
- CREATE TABLE `test` (
6
- `col1` int(8) DEFAULT NULL,
7
- `col2` varchar(256) DEFAULT NULL
8
- )
9
- INSERT INTO `test` VALUES (1,'testing123'),(2,'testing456');
@@ -1,43 +0,0 @@
1
- #$LOAD_PATH << File.join(File.dirname(__FILE__), '..', 'lib')
2
- #$LOAD_PATH << File.join(File.dirname(__FILE__), '..', 'lib')
3
- #$:.unshift(File.expand_path('./lib', ENV['rvm_path']))
4
- $:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
5
- $:.unshift ENV["GEM_HOME"]
6
-
7
- require "test/unit"
8
- require "sadie"
9
- require "tmpdir"
10
-
11
- class TestSadieToplevel < Test::Unit::TestCase
12
- def test_simple
13
- Dir.mktmpdir("sadie_testdir") do | dir |
14
- sadie = Sadie::getSadieInstance( { "sadie.primers_dirpath" => "test/test_primers",
15
- "sadie.sessions_dirpath" => dir,
16
- "sadie.primer_plugins_dirpath" => "lib/sadie/primer_plugins" } )
17
- sadie.initializePrimers
18
-
19
- # test eacher on non-intentional non-prime
20
-
21
- # te = sadie.get( "toplevel_testeach" )
22
- # puts "TE: #{te}"
23
- assert_equal( sadie.get( "toplevel_testeach" ), "blahbloo" )
24
- assert_equal( sadie.get( "toplevel_somegroup.eachtest" ), "blooblah" )
25
-
26
- # test top-level ini
27
- assert_equal( sadie.get( "toplevel.somegroup.somekey" ), "someval" )
28
- assert_equal( sadie.get( "toplevel.anothergroup.anotherkey" ), "anotherval" )
29
-
30
- # test top-level res
31
- assert_equal( sadie.get( "toplevel_single.oneprime" ), "primedit" )
32
-
33
- # test destruct on get
34
- dog1a = sadie.get( "toplevel_destructonget.oneprime" )
35
- dog2a = sadie.get( "toplevel_destructonget.twoprime" )
36
- dog2b = sadie.get( "toplevel_destructonget.twoprime" )
37
- sleep( 0.01 )
38
- dog1b = sadie.get( "toplevel_destructonget.oneprime" )
39
- assert_equal( dog2a, dog2b )
40
- assert_not_equal( dog1a, dog1b )
41
- end
42
- end
43
- end
@@ -1,48 +0,0 @@
1
- $LOAD_PATH << File.join(File.dirname(__FILE__), '..', 'lib')
2
-
3
- require "test/unit"
4
- require "sadie"
5
- require "tmpdir"
6
- # require "mysql"
7
- #require "dbd-mysql"
8
-
9
- class TestSadieTwoDeep < Test::Unit::TestCase
10
- def test_simple
11
- Dir.mktmpdir("sadie_testdir") do | dir |
12
- sadie = Sadie::getSadieInstance( { "sadie.primers_dirpath" => "test/test_primers",
13
- "sadie.sessions_dirpath" => dir,
14
- "sadie.primer_plugins_dirpath" => "lib/sadie/primer_plugins" } )
15
- sadie.initializePrimers
16
-
17
- # test two-deep ini
18
- assert_equal( sadie.get( "two.deep.conf.section.thiskey" ), "thisval" )
19
-
20
- # test two-deep res
21
- assert_equal( sadie.get( "two.deep.two_results.firstkey" ), "primedthem" )
22
- assert_equal( sadie.get( "two.deep.two_results.secondkey" ), "primedthem" )
23
-
24
- # test two-deep expensive
25
- assert_equal( sadie.get( "expensive.oneprime" ), "primedit" )
26
-
27
- # test db connection
28
- dbconx = sadie.get( "two.deep.test.dbi.conx" )
29
- assert_not_nil( dbconx )
30
-
31
- # test eacher
32
- eachertest = sadie.get("simple.eacher.test")
33
- assert_equal( eachertest, "start12end")
34
-
35
- # test sqlTo2DArray
36
- tablearray = sadie.get( "two.deep.testquery.test.sql2ar" )
37
- assert_not_nil( tablearray )
38
- assert_equal( tablearray[0][0], 1 )
39
- assert_equal( tablearray[1][1], "testing456" )
40
-
41
- # test templating
42
- template_text = sadie.get( "two.deep.test_template.txt.tmpl" )
43
- template_text = template_text.gsub(/\s+/," ").gsub(/^\s*/,"").gsub(/\s*$/,"")
44
- assert( (template_text.match(/later\s+gator/)), "incorrect match on template text" )
45
- assert( (template_text.match(/test\/test\_primers/)), "incorrect match on template text" )
46
- end
47
- end
48
- end
@@ -1 +0,0 @@
1
- *.kate-swp
@@ -1,5 +0,0 @@
1
- Sadie::prime( "provides" => %w{ onedeep.multiresult.oneprime
2
- onedeep.multiresult.twoprime } ) do |sadie|
3
- sadie.set( "onedeep.multiresult.oneprime", "primedthem" )
4
- sadie.set( "onedeep.multiresult.twoprime", "primedthem" )
5
- end
@@ -1,5 +0,0 @@
1
- [somegroup]
2
- somekey = someval
3
-
4
- [anothergroup]
5
- anotherkey = anotherval
@@ -1,15 +0,0 @@
1
- Sadie::eacher( :when => Sadie::BEFORE ) do |sadie|
2
- @testeach_toplevel2 = "bloo"
3
- sadie.debug! 9, "here!!!"
4
- end
5
-
6
- Sadie::eacher( :when => Sadie::AFTER,
7
- :provides => ["toplevel_somegroup.eachtest"] ) do |sadie,val|
8
-
9
- @testeach_toplevel2 = "#{@testeach_toplevel2}blah"
10
- sadie.debug! 9, "and!!!"
11
- sadie.set "toplevel_somegroup.eachtest", @testeach_toplevel2
12
- sadie.debug! 9, "there!!!"
13
-
14
- end
15
-
@@ -1,9 +0,0 @@
1
- Sadie::prime( "provides" => %w{ toplevel_destructonget.oneprime
2
- toplevel_destructonget.twoprime } ) do |sadie|
3
- puts "running destructonget primer..."
4
- timeobj = Time.now
5
- timeinsecs = timeobj.to_f
6
- sadie.set( "toplevel_destructonget.oneprime", "primedthem - #{timeinsecs}" )
7
- sadie.set( "toplevel_destructonget.twoprime", "primedthem" )
8
- sadie.setDestroyOnGet("toplevel_destructonget.oneprime")
9
- end
@@ -1,14 +0,0 @@
1
- Sadie::eacher( :when => Sadie::BEFORE ) do |sadie|
2
- @testeach_topleveldouble = "blah"
3
- sadie.debug! 10, ">>>>HERE!!!"
4
- end
5
-
6
- Sadie::eacher( :when => Sadie::AFTER,
7
- :provides => ["toplevel_double.eachtest"] ) do |sadie,val|
8
-
9
- @testeach_topleveldouble = "#{@testeach_topleveldouble}bloo"
10
- sadie.set "toplevel_double.eachtest", @testeach_topleveldouble
11
- sadie.debug! 10, ">>>>THERE!!!"
12
-
13
- end
14
-
@@ -1,5 +0,0 @@
1
- Sadie::prime( "provides" => %w{ toplevel_double.oneprime
2
- toplevel_double.twoprime } ) do |sadie|
3
- sadie.set( "toplevel_double.oneprime", "primedthem" )
4
- sadie.set( "toplevel_double.twoprime", "primedthem" )
5
- end
@@ -1,3 +0,0 @@
1
- Sadie::prime( "provides" => %w{ toplevel_single.oneprime } ) do |sadie|
2
- sadie.set( "toplevel_single.oneprime", "primedit" )
3
- end
@@ -1,4 +0,0 @@
1
- Sadie::prime( "provides" => %w{ toplevel_testeach } ) do |sadie|
2
- sadie.get "toplevel_double.twoprime"
3
- sadie.set( "toplevel_testeach", sadie.get( "toplevel_double.eachtest" ) )
4
- end
@@ -1,2 +0,0 @@
1
- [section]
2
- thiskey = thisval
@@ -1,3 +0,0 @@
1
- Sadie::prime( "provides" => %w{ expensive.oneprime } ) do |sadie|
2
- sadie.setExpensive( "expensive.oneprime", "primedit" )
3
- end
@@ -1,4 +0,0 @@
1
- [connection]
2
- dbistr = DBI:Mysql:test:127.0.0.1
3
- user = test
4
- pass = test
@@ -1,10 +0,0 @@
1
- <% testmode = "later" %>
2
- <% animal = "gator" %>
3
- <% if testmode.eql? "initial" %>
4
- my first time thru
5
- <% end %>
6
- <% if testmode.eql? "later" %>
7
- later
8
- <% end %>
9
- <%= animal %>
10
- <%= S("sadie.primers_dirpath") %>
@@ -1 +0,0 @@
1
- select * from test
@@ -1,16 +0,0 @@
1
- require 'sadie'
2
-
3
- Sadie::eacher( :when => Sadie::BEFORE ) do |sadie|
4
- @testeach = "start"
5
- end
6
-
7
- Sadie::eacher( :when => Sadie::EACH,
8
- :sadiekey => "two.deep.testquery.test.sql2ar" ) do |sadie,param|
9
- @testeach = "#{@testeach}#{param[0]}"
10
- end
11
-
12
- Sadie::eacher( :when => Sadie::AFTER, :provides => ["simple.eacher.test"] ) do |sadie|
13
- @testeach = "#{@testeach}end"
14
- sadie.set "simple.eacher.test", @testeach
15
- end
16
-
@@ -1,8 +0,0 @@
1
- Sadie::prime( { "provides" => %w{ two.deep.two_results.firstkey \
2
- two.deep.two_results.secondkey } } ) do |sadie|
3
-
4
- #puts "priming two_results.res"
5
-
6
- sadie.set( "two.deep.two_results.firstkey", "primedthem" )
7
- sadie.set( "two.deep.two_results.secondkey", "primedthem" )
8
- end