openstax_utilities 0.0.6 → 0.0.7
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/app/helpers/block_helper.rb +4 -4
- data/app/helpers/partial_helper.rb +1 -1
- data/lib/openstax/utilities/engine.rb +11 -0
- data/lib/openstax/utilities/enum.rb +45 -0
- data/lib/openstax/utilities/ruby.rb +8 -0
- data/lib/openstax/utilities/version.rb +1 -1
- data/lib/openstax_utilities.rb +2 -0
- metadata +6 -4
data/app/helpers/block_helper.rb
CHANGED
@@ -3,19 +3,19 @@
|
|
3
3
|
|
4
4
|
module BlockHelper
|
5
5
|
|
6
|
-
def
|
6
|
+
def osu_section_block(heading=nil, &block)
|
7
7
|
presenter = OpenStax::Utilities::Blocks::SectionBlock.new(self, heading, block)
|
8
8
|
end
|
9
9
|
|
10
|
-
def
|
10
|
+
def osu_table_block(&block)
|
11
11
|
presenter = TableBlock.new(self, block)
|
12
12
|
end
|
13
13
|
|
14
|
-
def
|
14
|
+
def osu_table_row_block(&block)
|
15
15
|
presenter = TableRowBlock.new(self, block)
|
16
16
|
end
|
17
17
|
|
18
|
-
def
|
18
|
+
def osu_table_cell_block(&block)
|
19
19
|
presenter = TableCellBlock.new(self, block)
|
20
20
|
end
|
21
21
|
|
@@ -1,3 +1,7 @@
|
|
1
|
+
ActiveSupport::Inflector.inflections do |inflect|
|
2
|
+
inflect.acronym 'OpenStax'
|
3
|
+
end
|
4
|
+
|
1
5
|
module OpenStax
|
2
6
|
module Utilities
|
3
7
|
class Engine < ::Rails::Engine
|
@@ -6,6 +10,13 @@ module OpenStax
|
|
6
10
|
initializer "openstax_utilities.assets.precompile" do |app|
|
7
11
|
app.config.assets.precompile += %w(openstax_utilities.css openstax_utilities.js)
|
8
12
|
end
|
13
|
+
|
14
|
+
initializer 'openstax_utilities.action_controller' do |app|
|
15
|
+
ActiveSupport.on_load :action_controller do
|
16
|
+
helper BlockHelper
|
17
|
+
helper PartialHelper
|
18
|
+
end
|
19
|
+
end
|
9
20
|
end
|
10
21
|
end
|
11
22
|
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# Copyright 2011-2012 Rice University. Licensed under the Affero General Public
|
2
|
+
# License version 3 or later. See the COPYRIGHT file for details.
|
3
|
+
|
4
|
+
# A class for enum values
|
5
|
+
#
|
6
|
+
# Usage:
|
7
|
+
# class SomeClass < OpenStax::Utilities::Enum
|
8
|
+
# SOME_CONSTANT = 0
|
9
|
+
# ANOTHER_CONSTANT = 1
|
10
|
+
# end
|
11
|
+
#
|
12
|
+
# Note: do not use the same value more than once,
|
13
|
+
# or else only the last occurrence will be used
|
14
|
+
# when searching by value.
|
15
|
+
|
16
|
+
module OpenStax
|
17
|
+
module Utilities
|
18
|
+
class Enum
|
19
|
+
# When given a numeric value, returns the constant name
|
20
|
+
# When given a name, returns the constant value
|
21
|
+
def self.[](val)
|
22
|
+
return self.constants.select{|c| self.const_get(c) == val}.last if val.is_a?(Numeric)
|
23
|
+
val_sym = val.to_s.gsub(" ", "_").to_sym.upcase
|
24
|
+
self.const_defined?(val_sym) ? self.const_get(val_sym) : \
|
25
|
+
(self.const_defined?(val_sym.capitalize) ? self.const_get(val_sym.capitalize) : \
|
26
|
+
raise(NameError.new("wrong enum name #{val.to_s}")))
|
27
|
+
end
|
28
|
+
|
29
|
+
# Humanized list of constants
|
30
|
+
def self.list
|
31
|
+
self.constants.collect{|c| c.to_s.humanize}
|
32
|
+
end
|
33
|
+
|
34
|
+
# List of constant values
|
35
|
+
def self.values
|
36
|
+
self.constants.collect{|c| self.const_get(c)}
|
37
|
+
end
|
38
|
+
|
39
|
+
# Options ready to be used in a select tag
|
40
|
+
def self.options
|
41
|
+
self.constants.collect{|c| [c.to_s.humanize, self.const_get(c)]}
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
data/lib/openstax_utilities.rb
CHANGED
@@ -3,6 +3,8 @@ require "openstax/utilities/version"
|
|
3
3
|
require "openstax/utilities/exceptions"
|
4
4
|
require "openstax/utilities/settings"
|
5
5
|
require "openstax/utilities/access"
|
6
|
+
require "openstax/utilities/enum"
|
7
|
+
require "openstax/utilities/ruby"
|
6
8
|
|
7
9
|
require 'openstax/utilities/blocks/block_base'
|
8
10
|
require 'openstax/utilities/blocks/section_block'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: openstax_utilities
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-09-18 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -66,7 +66,9 @@ files:
|
|
66
66
|
- lib/openstax/utilities/blocks/table_row_block.rb
|
67
67
|
- lib/openstax/utilities/development.rb
|
68
68
|
- lib/openstax/utilities/engine.rb
|
69
|
+
- lib/openstax/utilities/enum.rb
|
69
70
|
- lib/openstax/utilities/exceptions.rb
|
71
|
+
- lib/openstax/utilities/ruby.rb
|
70
72
|
- lib/openstax/utilities/settings.rb
|
71
73
|
- lib/openstax/utilities/version.rb
|
72
74
|
- lib/openstax_utilities.rb
|
@@ -116,7 +118,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
116
118
|
version: '0'
|
117
119
|
segments:
|
118
120
|
- 0
|
119
|
-
hash:
|
121
|
+
hash: -491942878868703970
|
120
122
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
121
123
|
none: false
|
122
124
|
requirements:
|
@@ -125,7 +127,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
125
127
|
version: '0'
|
126
128
|
segments:
|
127
129
|
- 0
|
128
|
-
hash:
|
130
|
+
hash: -491942878868703970
|
129
131
|
requirements: []
|
130
132
|
rubyforge_project:
|
131
133
|
rubygems_version: 1.8.24
|