.builders/documents/commands.rb in cmdlet-0.0.6 vs .builders/documents/commands.rb in cmdlet-0.0.7
- old
+ new
@@ -1,31 +1,226 @@
def commands
- functions.map do |function|
- category = categories.find { |c| c.name == function.category }
+ return @commands unless @commands.nil?
+
+ result = KDoc.model :document do
+ table :rows do
+ fields :category, :name, :alias, :description, :ruby # , f(name: :params, default: [:value])
-
- log.error("Category '#{function.category}' not found") unless category
+ # context 'when array of string' do
+ # let(:value) { %w[the quick fox] }
+
+ # it { is_expected.to eq('the,quick,fox') }
+ # end
+
+ # context 'when array of numbers' do
+ # let(:value) { [1, 2, 3] }
+
+ # it { is_expected.to eq('1,2,3') }
+ # end
+
+ # context 'when array of symbol' do
+ # let(:value) { %i[the quick fox] }
+
+ # it { is_expected.to eq('the,quick,fox') }
+ # end
+
+ row :array , :join , [] , "join an array of values with separator as a string", <<-'RUBY'
+ return '' if value.nil? || !value.is_a?(Array)
+ values = value.reject(&:blank?)
+ return '' if value.length.zero?
+
+ separator = ','
+ values.join(separator)
+ RUBY
+
+ # row :array , :join_pre , [] , "join an array of values with separator as a string and using the separator at the beginning of string", <<-'RUBY'
+ # return '' if value.nil? || !value.is_a?(Array)
+ # values = value.reject(&:blank?)
+ # return '' if value.length.zero?
+
+ # separator = ','
+ # "#{separator}#{value.join(separator)}"
+ # RUBY
+
+ # row :array , :join_post , [] , "join an array of values with separator as a string and using the separator at the end of string", <<-'RUBY'
+ # return '' if value.nil? || !value.is_a?(Array)
+ # values = value.reject(&:blank?)
+ # return '' if value.length.zero?
+
+ # separator = ','
+ # "#{value.join(separator)}#{separator}"
+ # RUBY
+
+ # row :a_transform , :backslash , [:back_slash] , "convert to back slash notation", <<-'RUBY'
+ # tokenizer.parse(value, preserve_case: true, separator: '\\')
+ # RUBY
+
+ # row :a_transform , :camel , [:upper_camel, :pascal] , "convert to camel notation", <<-'RUBY'
+ # tokenizer.parse(value).underscore.camelize
+ # RUBY
+
+ # row :a_transform , :constant , [:constantize] , "", <<-'RUBY'
+ # tokenizer.parse(value, separator: '_').upcase
+ # RUBY
+
+ # row :a_transform , :dash , [:dasherize] , "convert to dash notation", <<-'RUBY'
+ # tokenizer.parse(value)
+ # RUBY
+
+ # row :a_transform , :dot , [:dotirize] , "", <<-'RUBY'
+ # tokenizer.parse(value, separator: '.')
+ # RUBY
+
+ # row :a_transform , :double_colon , [] , "", <<-'RUBY'
+ # tokenizer.parse(value, preserve_case: true, separator: '::')
+ # RUBY
+
+ # row :a_transform , :lower , [:lowercase, :downcase] , "", <<-'RUBY'
+ # return '' if value.nil?
+
+ # value.downcase
+ # RUBY
+
+ # # row :a_transform , :format_as , [] , "", <<-'RUBY'
+
+ # # RUBY
+
+ # row :a_transform , :proper , [] , "Proper case capitalizes the first letter of ALL words in a string", <<-'RUBY'
+ # tokenizer.parse(value,
+ # separator: ' ',
+ # preserve_case: true,
+ # compress_prefix_numerals: false,
+ # compress_suffix_numerals: false)
+ # .titleize
+ # RUBY
+
+ # row :a_transform , :sentence , [:human, :humanize] , "Upper case for first letter only. Numbers will maintain their spacing", <<-'RUBY'
+ # tokenizer.parse(value,
+ # separator: ' ',
+ # preserve_case: true,
+ # compress_prefix_numerals: false,
+ # compress_suffix_numerals: false)
+ # .humanize
+ # RUBY
+
+ # row :a_transform , :lamel , [:lower_camel] , "", <<-'RUBY'
+ # tokenizer.parse(value, separator: '_').camelize(:lower)
+ # RUBY
+
+ # row :a_transform , :slash , [:forwardslash, :forward_slash] , "", <<-'RUBY'
+ # tokenizer.parse(value, preserve_case: true, separator: '/')
+ # RUBY
+
+ # row :a_transform , :snake , [:snake] , "", <<-'RUBY'
+ # tokenizer.parse(value, separator: '_', forced_separator: true)
+ # RUBY
+
+ # row :a_transform , :title , [:titleize] , "", <<-'RUBY'
+ # tokenizer.parse(value,
+ # separator: ' ',
+ # preserve_case: true,
+ # compress_prefix_numerals: false,
+ # compress_suffix_numerals: false)
+ # .titleize
+ # RUBY
+
+ # row :a_transform , :upper , [:upper_case, :upcase] , "", <<-'RUBY'
+ # return '' if value.nil?
+
+ # value.upcase
+ # RUBY
+
- OpenStruct.new(
- category: function.category,
- name: function.name,
- category_description: category.description,
- function_description: function.description,
- ruby: function.ruby,
- usecases: use_cases
- .select { |uc| uc.category == function.category && uc.function == function.name }
- .map { |uc|
- OpenStruct.new({
- category: uc.category,
- function: uc.function,
- inputs: uc.inputs,
- nice_inputs: nice_inputs(uc.inputs),
- expected_output: uc.expected_output
- })
- }
- )
+ # row :a_comparison , :and , [:all] , "", <<-'RUBY'
+ # values.all? { |value| value }
+ # RUBY
+
+ # # DEFAULT does not make sense in comparison
+ # row :a_comparison , :default , [:fallback] , "", <<-'RUBY'
+ # default_value = values[-1]
+
+ # find_value = values[0..-2].find { |value| !value.nil? }
+
+ # find_value || default_value
+ # RUBY
+
+ # row :a_comparison , :eq , [:equal] , "", <<-'RUBY'
+ # lhs = lhs.to_s if lhs.is_a?(Symbol)
+ # rhs = rhs.to_s if rhs.is_a?(Symbol)
+
+ # lhs == rhs
+ # RUBY
+
+ # row :a_comparison , :gt , [] , "", <<-'RUBY'
+ # lhs > rhs
+ # RUBY
+
+ # row :a_comparison , :gte , [] , "", <<-'RUBY'
+ # lhs >= rhs
+ # RUBY
+
+ # row :a_comparison , :lt , [:less_than] , "# Lt: (less than) Block helper that renders a block if `a` is **less than** `b`. If an inverse block is specified it will be rendered when falsy.", <<-'RUBY'
+ # lhs < rhs
+ # RUBY
+
+ # row :a_comparison , :lte , [:less_than_or_equal_to] , "# Lte: (less than or equal to) Block helper that renders a block if `a` is **less than or equal to** `b`. If an inverse block is specified it will be rendered when falsy.", <<-'RUBY'
+ # lhs <= rhs
+ # RUBY
+
+ # row :a_comparison , :ne , [:not_equal] , "# Ne: (not equal) Block helper that renders a block if `a` is **not equal to** `b`. If an inverse block is specified it will be rendered when falsy.", <<-'RUBY'
+ # lhs = lhs.to_s if lhs.is_a?(Symbol)
+ # rhs = rhs.to_s if rhs.is_a?(Symbol)
+
+ # lhs != rhs
+ # RUBY
+
+ # row :a_comparison , :or , [:any] , "", <<-'RUBY'
+ # values.any? { |value| value }
+ # RUBY
+
+
+
+ # row :a_inflection , :ordinal , [] , "The suffix that should be added to a number to denote the position in an ordered sequence such as 1st, 2nd, 3rd, 4th", <<-RUBY
+ # return '' if value.nil?
+
+ # value = value.to_i if value.is_a? String
+
+ # value.ordinal
+ # RUBY
+
+ # row :a_inflection , :ordinalize , [] , "Turns a number into an ordinal string used to denote the position in an ordered sequence such as 1st, 2nd, 3rd, 4th.", <<-RUBY
+ # return '' if value.nil?
+
+ # value = value.to_i if value.is_a? String
+
+ # value.ordinalize
+ # RUBY
+
+ # row :a_inflection , :pluralize , [] , "Returns the plural form of the word in the string", <<-RUBY
+ # return '' if value.nil?
+
+ # value = value.to_s if value.is_a?(Symbol)
+
+ # value.pluralize
+ # RUBY
+
+ # row :a_inflection , :pluralize_by_number , [] , "Uses both a word and number to decide if the plural or singular form should be used.", <<-'RUBY'
+ # return '' if value.nil?
+
+ # count = count.to_i if count.is_a? String
+ # format = :word if format.nil?
+
+ # case format.to_sym
+ # when :number_word, :number_and_word
+ # "#{count} #{value.pluralize(count)}"
+ # else # aka :word
+ # value.pluralize(count)
+ # end
+ # RUBY
+
+ # row :a_inflection , :singularize , [] , ""
+ end
end
+
+ @commands = result.raw_data_struct.rows
end
-
-def nice_inputs(values)
- values.map { |value| value.is_a?(String) ? "'#{value}'" : value }.join(', ')
-end
\ No newline at end of file
+@commands = nil