sadie 0.0.52 → 0.1.6

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.
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