lims-core 3.2.3

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 (177) hide show
  1. checksums.yaml +15 -0
  2. data/.gitignore +5 -0
  3. data/.rspec +1 -0
  4. data/.rvmrc +2 -0
  5. data/.travis.yml +2 -0
  6. data/.vimrc +27 -0
  7. data/.yard_templates/default/layout/html/footer.erb +0 -0
  8. data/.yardopts +1 -0
  9. data/Gemfile +54 -0
  10. data/Gemfile.lock +197 -0
  11. data/Guardfile +21 -0
  12. data/Guardfile.tmux +28 -0
  13. data/README.markdown +67 -0
  14. data/Rakefile +16 -0
  15. data/config/database.yml +16 -0
  16. data/doc/Array.html +116 -0
  17. data/doc/Array/ArrayLoggerPersistor.html +152 -0
  18. data/doc/Lims.html +114 -0
  19. data/doc/Lims/Core.html +178 -0
  20. data/doc/Lims/Core/Action.html +91 -0
  21. data/doc/Lims/Core/Actions.html +116 -0
  22. data/doc/Lims/Core/Actions/Action.html +216 -0
  23. data/doc/Lims/Core/Actions/Action/AfterEval.html +853 -0
  24. data/doc/Lims/Core/Actions/Action/InvalidParameters.html +268 -0
  25. data/doc/Lims/Core/Actions/ActionGroup.html +196 -0
  26. data/doc/Lims/Core/Actions/ActionGroup/AfterEval.html +315 -0
  27. data/doc/Lims/Core/Actions/BulkAction.html +224 -0
  28. data/doc/Lims/Core/Actions/BulkAction/AfterEval.html +253 -0
  29. data/doc/Lims/Core/Actions/TestActionGroup.html +101 -0
  30. data/doc/Lims/Core/Actions/TestActionGroup/Action.html +133 -0
  31. data/doc/Lims/Core/Actions/TestActionGroup/ActionGroup.html +127 -0
  32. data/doc/Lims/Core/Base.html +287 -0
  33. data/doc/Lims/Core/Base/AccessibleViaSuper.html +252 -0
  34. data/doc/Lims/Core/Base/ClassMethod.html +177 -0
  35. data/doc/Lims/Core/Base/HashString.html +177 -0
  36. data/doc/Lims/Core/Base/IsArrayOf.html +606 -0
  37. data/doc/Lims/Core/Base/State.html +130 -0
  38. data/doc/Lims/Core/Organization.html +113 -0
  39. data/doc/Lims/Core/Organization/Batch.html +106 -0
  40. data/doc/Lims/Core/Persistence.html +267 -0
  41. data/doc/Lims/Core/Persistence/ComparisonFilter.html +318 -0
  42. data/doc/Lims/Core/Persistence/Filter.html +252 -0
  43. data/doc/Lims/Core/Persistence/IdentityMap.html +409 -0
  44. data/doc/Lims/Core/Persistence/IdentityMap/Class.html +144 -0
  45. data/doc/Lims/Core/Persistence/IdentityMap/DuplicateError.html +126 -0
  46. data/doc/Lims/Core/Persistence/IdentityMap/DuplicateIdError.html +136 -0
  47. data/doc/Lims/Core/Persistence/IdentityMap/DuplicateObjectError.html +136 -0
  48. data/doc/Lims/Core/Persistence/IdentityMapClass.html +133 -0
  49. data/doc/Lims/Core/Persistence/Logger.html +105 -0
  50. data/doc/Lims/Core/Persistence/Logger/Persistor.html +334 -0
  51. data/doc/Lims/Core/Persistence/Logger/Session.html +452 -0
  52. data/doc/Lims/Core/Persistence/Logger/Store.html +470 -0
  53. data/doc/Lims/Core/Persistence/MessageBus.html +871 -0
  54. data/doc/Lims/Core/Persistence/MessageBus/ConnectionError.html +123 -0
  55. data/doc/Lims/Core/Persistence/MessageBus/InvalidSettingsError.html +122 -0
  56. data/doc/Lims/Core/Persistence/MultiCriteriaFilter.html +293 -0
  57. data/doc/Lims/Core/Persistence/PersistAssociationTrait.html +91 -0
  58. data/doc/Lims/Core/Persistence/PersistableTrait.html +91 -0
  59. data/doc/Lims/Core/Persistence/Persistor.html +3072 -0
  60. data/doc/Lims/Core/Persistence/Persistor/DuplicateError.html +205 -0
  61. data/doc/Lims/Core/Persistence/Persistor/DuplicateIdError.html +147 -0
  62. data/doc/Lims/Core/Persistence/Persistor/DuplicateObjectError.html +147 -0
  63. data/doc/Lims/Core/Persistence/PersistorTrait.html +91 -0
  64. data/doc/Lims/Core/Persistence/ResourceState.html +1738 -0
  65. data/doc/Lims/Core/Persistence/Search.html +269 -0
  66. data/doc/Lims/Core/Persistence/Search/CreateSearch.html +251 -0
  67. data/doc/Lims/Core/Persistence/Search/SearchPersistor.html +240 -0
  68. data/doc/Lims/Core/Persistence/Search/SearchSequelPersistor.html +396 -0
  69. data/doc/Lims/Core/Persistence/Sequel.html +117 -0
  70. data/doc/Lims/Core/Persistence/Sequel/Filters.html +462 -0
  71. data/doc/Lims/Core/Persistence/Sequel/ForTest.html +101 -0
  72. data/doc/Lims/Core/Persistence/Sequel/ForTest/Name.html +137 -0
  73. data/doc/Lims/Core/Persistence/Sequel/ForTest/Name/NamePersitor.html +143 -0
  74. data/doc/Lims/Core/Persistence/Sequel/Migrations.html +266 -0
  75. data/doc/Lims/Core/Persistence/Sequel/Persistor.html +665 -0
  76. data/doc/Lims/Core/Persistence/Sequel/Session.html +501 -0
  77. data/doc/Lims/Core/Persistence/Sequel/Store.html +417 -0
  78. data/doc/Lims/Core/Persistence/Session.html +2751 -0
  79. data/doc/Lims/Core/Persistence/Session/UnmanagedObjectError.html +111 -0
  80. data/doc/Lims/Core/Persistence/StateGroup.html +696 -0
  81. data/doc/Lims/Core/Persistence/StateList.html +498 -0
  82. data/doc/Lims/Core/Persistence/Store.html +695 -0
  83. data/doc/Lims/Core/Persistence/UuidResource.html +1044 -0
  84. data/doc/Lims/Core/Persistence/UuidResource/InvalidUuidError.html +111 -0
  85. data/doc/Lims/Core/Persistence/UuidResource/UuidResourcePersistor.html +337 -0
  86. data/doc/Lims/Core/Persistence/Uuidable.html +799 -0
  87. data/doc/Lims/Core/Persistor.html +320 -0
  88. data/doc/Lims/Core/Resource.html +165 -0
  89. data/doc/Object.html +228 -0
  90. data/doc/SessionSpec.html +101 -0
  91. data/doc/SessionSpec/Model.html +279 -0
  92. data/doc/SessionSpec/Model/ModelPersistor.html +327 -0
  93. data/doc/_index.html +732 -0
  94. data/doc/class_list.html +47 -0
  95. data/doc/css/common.css +1 -0
  96. data/doc/css/full_list.css +55 -0
  97. data/doc/css/style.css +322 -0
  98. data/doc/file.README.html +127 -0
  99. data/doc/file_list.html +49 -0
  100. data/doc/frames.html +13 -0
  101. data/doc/index.html +127 -0
  102. data/doc/js/app.js +205 -0
  103. data/doc/js/full_list.js +167 -0
  104. data/doc/js/jquery.js +16 -0
  105. data/doc/method_list.html +1894 -0
  106. data/doc/top-level-namespace.html +100 -0
  107. data/lib/common.rb +18 -0
  108. data/lib/lims-core.rb +29 -0
  109. data/lib/lims-core/actions.rb +10 -0
  110. data/lib/lims-core/actions/action.rb +185 -0
  111. data/lib/lims-core/actions/action_group.rb +54 -0
  112. data/lib/lims-core/actions/bulk_action.rb +65 -0
  113. data/lib/lims-core/base.rb +132 -0
  114. data/lib/lims-core/helpers.rb +41 -0
  115. data/lib/lims-core/persistence.rb +15 -0
  116. data/lib/lims-core/persistence/comparison_filter.rb +54 -0
  117. data/lib/lims-core/persistence/filter.rb +23 -0
  118. data/lib/lims-core/persistence/identity_map.rb +55 -0
  119. data/lib/lims-core/persistence/logger/all.rb +5 -0
  120. data/lib/lims-core/persistence/logger/persistor.rb +35 -0
  121. data/lib/lims-core/persistence/logger/session.rb +30 -0
  122. data/lib/lims-core/persistence/logger/store.rb +37 -0
  123. data/lib/lims-core/persistence/message_bus.rb +131 -0
  124. data/lib/lims-core/persistence/multi_criteria_filter.rb +50 -0
  125. data/lib/lims-core/persistence/persist_association_trait.rb +96 -0
  126. data/lib/lims-core/persistence/persistable_trait.rb +150 -0
  127. data/lib/lims-core/persistence/persistor.rb +495 -0
  128. data/lib/lims-core/persistence/resource_state.rb +157 -0
  129. data/lib/lims-core/persistence/search.rb +3 -0
  130. data/lib/lims-core/persistence/search/all.rb +3 -0
  131. data/lib/lims-core/persistence/search/create_search.rb +55 -0
  132. data/lib/lims-core/persistence/search/search_persistor.rb +45 -0
  133. data/lib/lims-core/persistence/search/search_sequel_persistor.rb +40 -0
  134. data/lib/lims-core/persistence/sequel.rb +14 -0
  135. data/lib/lims-core/persistence/sequel/filters.rb +106 -0
  136. data/lib/lims-core/persistence/sequel/migrations.rb +14 -0
  137. data/lib/lims-core/persistence/sequel/migrations/add_audit_tables.rb +147 -0
  138. data/lib/lims-core/persistence/sequel/migrations/initial.rb +156 -0
  139. data/lib/lims-core/persistence/sequel/persistor.rb +200 -0
  140. data/lib/lims-core/persistence/sequel/session.rb +136 -0
  141. data/lib/lims-core/persistence/sequel/store.rb +37 -0
  142. data/lib/lims-core/persistence/session.rb +409 -0
  143. data/lib/lims-core/persistence/state_group.rb +97 -0
  144. data/lib/lims-core/persistence/state_list.rb +56 -0
  145. data/lib/lims-core/persistence/store.rb +73 -0
  146. data/lib/lims-core/persistence/uuid_resource.rb +115 -0
  147. data/lib/lims-core/persistence/uuid_resource_persistor.rb +43 -0
  148. data/lib/lims-core/persistence/uuidable.rb +107 -0
  149. data/lib/lims-core/resource.rb +21 -0
  150. data/lib/lims-core/subclass_tracker.rb +30 -0
  151. data/lib/lims-core/version.rb +5 -0
  152. data/lims-core.gemspec +40 -0
  153. data/makefile +52 -0
  154. data/showoff/core-2012-06-11/core/01_slide.md +237 -0
  155. data/showoff/core-2012-06-11/core/02_slide.md +110 -0
  156. data/showoff/core-2012-06-11/custom.css +44 -0
  157. data/showoff/core-2012-06-11/main/01_slide.md +53 -0
  158. data/showoff/core-2012-06-11/showoff.json +10 -0
  159. data/showoff/core-2012-06-11/tp1.tpl +1 -0
  160. data/spec/actions/action_group_spec.rb +39 -0
  161. data/spec/actions/spec_helper.rb +1 -0
  162. data/spec/persistence/identity_map_spec.rb +55 -0
  163. data/spec/persistence/logger/spec_helper.rb +7 -0
  164. data/spec/persistence/logger/store_spec.rb +48 -0
  165. data/spec/persistence/message_bus_spec.rb +76 -0
  166. data/spec/persistence/sequel/session_spec.rb +125 -0
  167. data/spec/persistence/sequel/spec_helper.rb +39 -0
  168. data/spec/persistence/sequel/store_shared.rb +25 -0
  169. data/spec/persistence/sequel/store_spec.rb +22 -0
  170. data/spec/persistence/session_spec.rb +199 -0
  171. data/spec/persistence/spec_helper.rb +2 -0
  172. data/spec/persistence/uuid_resource_spec.rb +80 -0
  173. data/spec/spec_helper.rb +10 -0
  174. data/spec/subclass_tracker_sperc.rb +62 -0
  175. data/utils/constant_tree.rb +29 -0
  176. data/utils/stack.rb +48 -0
  177. metadata +402 -0
checksums.yaml ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ NmQ4MDBjZjVjMWRiZTkzMmU5MGQyODRjNzZiMTYxMjg1ZjU0ODRiMQ==
5
+ data.tar.gz: !binary |-
6
+ MjFlYjNmOGQ3NThmODI1Mzg2NWQxZGM2MjExZjI1MzE3YzRhYTAxZQ==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ Y2U3NGI0MmYxMDA3OGMxNTI3Y2I2MzJlMGE1YWE4ZmE5Zjg2MmJiNjllYjlm
10
+ NWYwMDM0MjlkOTJkM2M2OTYzYTViOGVhZDA0ZTFkNjk3ZDE3ZjgzZTQyNWI1
11
+ YzkyMDExZjJkOTgxYjJkYzY2MDcxYjhkZDc5NzA4ZmYzMmZlMzI=
12
+ data.tar.gz: !binary |-
13
+ NTE4MzQ5MDMyMzM2NTFkYzg0YmFkNzRlNThjNDZmMjE3MGY1MWQ4NmNkMTg5
14
+ N2I3NTZhMzZjOTQwNWVkNTdlNTc1NTY0MzFhZTZiYTI5MjA4Yzg5ZTNkMDM0
15
+ ZTE1Njg3MmIyMmJmYmRiYjA4MTVhZDVjMzhiZDIxZmFmMjIxNjA=
data/.gitignore ADDED
@@ -0,0 +1,5 @@
1
+ .yardoc
2
+ *.db
3
+ .bundle
4
+ tags
5
+ .DS_Store
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --tag ~@wip
data/.rvmrc ADDED
@@ -0,0 +1,2 @@
1
+ rvm use 1.9.3@lims-core --create
2
+
data/.travis.yml ADDED
@@ -0,0 +1,2 @@
1
+ sudo: false
2
+ install: bundle install --without debugging pry autotest yard showoff
data/.vimrc ADDED
@@ -0,0 +1,27 @@
1
+ iabbr req require 'lims/core/
2
+ iabbr mlims module Lims::Core
3
  module Labware
1
4
  # @todo doc
2
5
  end
6
+ set path=lib/**,spec/**,showoff/core-2012-06-11/**,,*,**,$GEM_HOME/gems
7
+ let g:ruby_path=&path
8
+ set cdpath=lib/lims/core,spec
9
+
10
+ set isk+=?,!
11
+
12
+ set makeprg=rspec
13
+ set errorformat=
14
+ \%-Z\ \ \ \ \ \#\ %f:%l:%.%#,%E\ \ %\\d%\\+)%.%#,%C%m,%Z,
15
+ \%-Z%f:%l:%.%#,%E%\\d%\\+)%.%#,%C%m,%Z,
16
+ \%+W'%.%#'\ FAILED,
17
+ \%+I'%.%#'\ FIXED,
18
+ \%-Cexpected:%.%#,
19
+ \%-C\ \ \ \ \ got:%.%#,
20
+ \%E%.%#:in\ `load':\ %f:%l:%m,
21
+ \%C%f:%l:,
22
+ \%W%f:%l:\ warning:\ %m,
23
+ \%E%f:%l:in\ %*[^:]:\ %m,
24
+ \%E%f:%l:\ %m,
25
+ \%-Z%\tfrom\ %f:%l,
26
+ \%-Z%p^%.%#,
27
+ \%-C%.%#,
28
+ \%-G%.%#
29
+
30
+
File without changes
data/.yardopts ADDED
@@ -0,0 +1 @@
1
+ --private -p .yard_templates lib spec/**/*_spec.rb
data/Gemfile ADDED
@@ -0,0 +1,54 @@
1
+ # vim:ft=ruby:ts=2:et:sw=2:sts=2
2
+ source "http://rubygems.org"
3
+
4
+ # Specify your gem's dependencies in lims-core.gemspec
5
+ gemspec
6
+
7
+ gem 'oj', :platforms => :mri
8
+ gem 'jrjackson', :platforms => :jruby
9
+
10
+ group :debugging do
11
+ gem 'debugger', :platforms => :mri
12
+ gem 'debugger-completion', :platforms => :mri
13
+ gem 'ruby-debug', :platforms => :jruby
14
+ end
15
+
16
+ group :pry do
17
+ gem 'debugger-pry', :require => 'debugger/pry', :platforms => :mri
18
+ end
19
+
20
+ group :autotest do
21
+ gem 'autotest'
22
+ gem 'autotest-growl'
23
+ gem 'autotest-fsevent'
24
+ end
25
+
26
+ group :guard do
27
+ gem "guard", '>= 1.3.0', :platforms => :mri
28
+ gem "guard-rspec", :platforms => :mri
29
+ gem "guard-bundler", :platforms => :mri
30
+ gem "guard-yard", :platforms => :mri
31
+ gem "terminal-notifier-guard", :platforms => :mri
32
+ gem "rb-fsevent", '~> 0.9.1', :platforms => :mri
33
+ end
34
+
35
+ group :development do
36
+ gem 'sqlite3', :platforms => :mri
37
+ gem 'mysql2', :platforms => :mri
38
+ gem 'ruby-prof', :platforms => :mri
39
+ gem 'jdbc-sqlite3', :platforms => :jruby
40
+ gem 'jdbc-mysql', :platforms => :jruby
41
+ end
42
+
43
+
44
+ group :yard do
45
+ gem 'yard', '= 0.7.3', :platforms => :mri
46
+ gem 'yard-rspec', '0.1', :platforms => :mri
47
+ gem 'yard-state_machine', :platforms => :mri
48
+ gem 'redcarpet', :platforms => :mri
49
+ gem 'ruby-graphviz', :platforms => :mri
50
+ end
51
+
52
+ group :showoff do
53
+ gem 'showoff', :platforms => :mri
54
+ end
data/Gemfile.lock ADDED
@@ -0,0 +1,197 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ lims-core (3.2.3)
5
+ activesupport
6
+ aequitas
7
+ bunny (= 0.9.0.pre10)
8
+ dm-validations
9
+ facets (= 2.9.3)
10
+ modularity (= 0.6.1)
11
+ sequel
12
+ state_machine
13
+ uuid
14
+ virtus (= 0.2.0)
15
+
16
+ GEM
17
+ remote: http://rubygems.org/
18
+ specs:
19
+ ZenTest (4.11.0)
20
+ activesupport (4.2.4)
21
+ i18n (~> 0.7)
22
+ json (~> 1.7, >= 1.7.7)
23
+ minitest (~> 5.1)
24
+ thread_safe (~> 0.3, >= 0.3.4)
25
+ tzinfo (~> 1.1)
26
+ addressable (2.3.8)
27
+ aequitas (0.0.2)
28
+ amq-protocol (1.9.2)
29
+ autotest (4.4.6)
30
+ ZenTest (>= 4.4.1)
31
+ autotest-fsevent (0.2.8)
32
+ sys-uname
33
+ autotest-growl (0.2.16)
34
+ blankslate (2.1.2.4)
35
+ bluecloth (2.2.0)
36
+ bond (0.4.3)
37
+ bunny (0.9.0.pre10)
38
+ amq-protocol (>= 1.4.0)
39
+ coderay (1.0.9)
40
+ columnize (0.9.0)
41
+ debugger (1.6.8)
42
+ columnize (>= 0.3.1)
43
+ debugger-linecache (~> 1.2.0)
44
+ debugger-ruby_core_source (~> 1.3.5)
45
+ debugger-completion (1.0.0)
46
+ bond (>= 0.4.2)
47
+ debugger (~> 1.1)
48
+ debugger-linecache (1.2.0)
49
+ debugger-pry (0.1.1)
50
+ debugger (~> 1)
51
+ pry (>= 0.9.9)
52
+ debugger-ruby_core_source (1.3.8)
53
+ diff-lcs (1.1.3)
54
+ dm-core (1.2.1)
55
+ addressable (~> 2.3)
56
+ dm-validations (1.2.0)
57
+ dm-core (~> 1.2.0)
58
+ facets (2.9.3)
59
+ ffi (1.9.0)
60
+ ffi (1.9.0-java)
61
+ formatador (0.2.4)
62
+ gli (2.7.0)
63
+ guard (1.8.2)
64
+ formatador (>= 0.2.4)
65
+ listen (>= 1.0.0)
66
+ lumberjack (>= 1.0.2)
67
+ pry (>= 0.9.10)
68
+ thor (>= 0.14.6)
69
+ guard-bundler (1.0.0)
70
+ bundler (~> 1.0)
71
+ guard (~> 1.1)
72
+ guard-rspec (1.2.1)
73
+ guard (>= 1.1)
74
+ guard-yard (2.1.0)
75
+ guard (>= 1.1.0)
76
+ yard (>= 0.7.0)
77
+ i18n (0.7.0)
78
+ jdbc-mysql (5.1.27)
79
+ jdbc-sqlite3 (3.7.2.1)
80
+ jrjackson (0.2.3)
81
+ json (1.8.0)
82
+ listen (1.3.0)
83
+ rb-fsevent (>= 0.9.3)
84
+ rb-inotify (>= 0.9)
85
+ rb-kqueue (>= 0.2)
86
+ lumberjack (1.0.4)
87
+ macaddr (1.6.7)
88
+ systemu (~> 2.6.2)
89
+ method_source (0.8.2)
90
+ mini_portile (0.5.1)
91
+ minitest (5.8.2)
92
+ modularity (0.6.1)
93
+ mysql2 (0.3.13)
94
+ blankslate (~> 2.0)
95
+ nokogiri (1.6.0)
96
+ mini_portile (~> 0.5.0)
97
+ oj (2.1.7)
98
+ parslet (1.5.0)
99
+ pry (0.9.12.2)
100
+ coderay (~> 1.0.5)
101
+ method_source (~> 0.8)
102
+ slop (~> 3.4)
103
+ rack (1.5.2)
104
+ rack-protection (1.5.0)
105
+ rack
106
+ rake (10.1.0)
107
+ rb-fsevent (0.9.3)
108
+ rb-inotify (0.9.1)
109
+ ffi (>= 0.5.0)
110
+ rb-kqueue (0.2.0)
111
+ ffi (>= 0.5.0)
112
+ redcarpet (3.0.0)
113
+ rspec (2.8.0)
114
+ rspec-core (~> 2.8.0)
115
+ rspec-expectations (~> 2.8.0)
116
+ rspec-mocks (~> 2.8.0)
117
+ rspec-core (2.8.0)
118
+ rspec-expectations (2.8.0)
119
+ diff-lcs (~> 1.1.2)
120
+ rspec-mocks (2.8.0)
121
+ ruby-debug (0.10.4)
122
+ columnize (>= 0.1)
123
+ ruby-debug-base (~> 0.10.4.0)
124
+ ruby-debug-base (0.10.4-java)
125
+ ruby-graphviz (1.0.8)
126
+ ruby-prof (0.13.0)
127
+ sequel (4.8.0)
128
+ showoff (0.7.0)
129
+ bluecloth
130
+ gli (>= 1.3.2)
131
+ json
132
+ nokogiri
133
+ parslet
134
+ sinatra
135
+ sinatra (1.4.3)
136
+ rack (~> 1.4)
137
+ rack-protection (~> 1.4)
138
+ tilt (~> 1.3, >= 1.3.4)
139
+ slop (3.4.6)
140
+ sqlite3 (1.3.8)
141
+ state_machine (1.2.0)
142
+ sys-uname (0.9.2)
143
+ ffi (>= 1.0.0)
144
+ systemu (2.6.4)
145
+ terminal-notifier-guard (1.5.3)
146
+ thor (0.18.1)
147
+ thread_safe (0.3.5)
148
+ tilt (1.4.1)
149
+ tzinfo (1.2.2)
150
+ thread_safe (~> 0.1)
151
+ uuid (2.3.7)
152
+ macaddr (~> 1.0)
153
+ virtus (0.2.0)
154
+ yard (0.7.3)
155
+ yard-rspec (0.1)
156
+ yard
157
+ yard-state_machine (0.0.1)
158
+ ruby-graphviz (~> 1.0.0)
159
+ yard (~> 0.7.3)
160
+
161
+ PLATFORMS
162
+ java
163
+ ruby
164
+
165
+ DEPENDENCIES
166
+ autotest
167
+ autotest-fsevent
168
+ autotest-growl
169
+ debugger
170
+ debugger-completion
171
+ debugger-pry
172
+ guard (>= 1.3.0)
173
+ guard-bundler
174
+ guard-rspec
175
+ guard-yard
176
+ jdbc-mysql
177
+ jdbc-sqlite3
178
+ jrjackson
179
+ lims-core!
180
+ mysql2
181
+ oj
182
+ rake
183
+ rb-fsevent (~> 0.9.1)
184
+ redcarpet
185
+ rspec (~> 2)
186
+ ruby-debug
187
+ ruby-graphviz
188
+ ruby-prof
189
+ showoff
190
+ sqlite3
191
+ terminal-notifier-guard
192
+ yard (= 0.7.3)
193
+ yard-rspec (= 0.1)
194
+ yard-state_machine
195
+
196
+ BUNDLED WITH
197
+ 1.10.6
data/Guardfile ADDED
@@ -0,0 +1,21 @@
1
+ # A sample Guardfile
2
+ # More info at https://github.com/guard/guard#readme
3
+
4
+ guard 'bundler' do
5
+ watch('Gemfile')
6
+ # Uncomment next line if Gemfile contain `gemspec' command
7
+ # watch(/^.+\.gemspec/)
8
+ end
9
+
10
+ guard 'rspec', :version => 2 do
11
+ watch(%r{^spec/.+_spec\.rb$})
12
+ watch(%r{^lib/[^\/]+\/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
13
+ watch('spec/spec_helper.rb') { "spec" }
14
+
15
+ end
16
+
17
+ guard 'yard' do
18
+ watch(%r{app/.+\.rb})
19
+ watch(%r{lib/.+\.rb})
20
+ watch(%r{ext/.+\.c})
21
+ end
data/Guardfile.tmux ADDED
@@ -0,0 +1,28 @@
1
+ # A sample Guardfile
2
+ # More info at https://github.com/guard/guard#readme
3
+
4
+ guard 'bundler' do
5
+ watch('Gemfile')
6
+ # Uncomment next line if Gemfile contain `gemspec' command
7
+ # watch(/^.+\.gemspec/)
8
+ end
9
+
10
+ guard 'rspec', :version => 2 do
11
+ watch(%r{^spec/.+_spec\.rb$})
12
+ watch(%r{^lib/[^\/]+\/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
13
+ watch('spec/spec_helper.rb') { "spec" }
14
+
15
+ end
16
+
17
+ guard 'yard' do
18
+ watch(%r{app/.+\.rb})
19
+ watch(%r{lib/.+\.rb})
20
+ watch(%r{ext/.+\.c})
21
+ end
22
+
23
+ notification :tmux,
24
+ :display_message => true,
25
+ :timeout => 5,
26
+ :default_message_format => '%s >> %s',
27
+ :line_separator => ' > '
28
+
data/README.markdown ADDED
@@ -0,0 +1,67 @@
1
+ <!-- vim: spell:spelllang=en tw=80
2
+ Yard markup
3
+ # @markup markdown
4
+ # @title README
5
+ -->
6
+
7
+ Overview
8
+ =======
9
+
10
+ This gem implements the core functionalities of the LIMS (Laboratory Information Management System).
11
+ It's not meant to be a stand alone application but the core library of the LIMS
12
+ server.
13
+
14
+ For more information consult the documentation.
15
+
16
+ Installation
17
+ ============
18
+
19
+ gem install lims-core
20
+
21
+ Or, if you are using [bundler](http://gembundler.com/) , add the following line
22
+
23
+ gem :lims-core, :git => "git+ssh://git@github.com/sanger/lims-core.git'
24
+
25
+ in your `Gemfile`.
26
+
27
+ Documentation
28
+ =============
29
+ The documentation is generated using [yard](http://yardoc.org/index.html) and can
30
+ be found under the `doc/` directory or using a `yard server`
31
+
32
+ Developers Guide
33
+ ================
34
+ Gem requirements
35
+ ----------------
36
+ Ideally each should be loadable on its own. This mean that every file should
37
+ require everything it needs. The exception is for gems re-opening ruby basic
38
+ classes as facet do. The common requirements are grouped in the `lib/common.rb`
39
+ file.
40
+
41
+ For the user convenience, requiring a directory should requires everything
42
+ underneath. However, requiring `lims-core` will require `Persistence`, but not
43
+ the subdirectories of it (specific to each different stores like `Sequel`, or
44
+ `Logger`). This to not force to install all the dependencies specific to each
45
+ store.
46
+
47
+ Documentation Guide
48
+ -------------------
49
+
50
+ The documentation is written using [yard](http://yardoc.org/index.html).
51
+ It allows to write documentation within the doc and add *typing* hints/
52
+ expectations.
53
+ The recommended format for stand alone documentation files is
54
+ [markdown](http://daringfireball.net/projects/markdown/), however
55
+ it's easier to keep the native markup language used by **yard**, i.e. the
56
+ [rdoc](http://rdoc.sourceforge.net/) one.
57
+ This allows the code to be parsed via **rdoc** and doesn't need the extra spaces at
58
+ the end of a line needed by **markdown**.
59
+
60
+ However, when the usage of pure **markdown** seems appropriate, it's still
61
+ possible to the use `@markup` switch.
62
+
63
+ Some documentation can also be added in the specs.
64
+
65
+ Tests
66
+ -----
67
+ We are using [rspec](http://rspec.info/).