Add more maggies
This commit is contained in:
parent
e72634637c
commit
7b55cf4eb9
32
Functional_Maggie.rb
Normal file
32
Functional_Maggie.rb
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
def annoyed_maggie(container_obj, attribute, filter_by)
|
||||||
|
filters = filter_by.map do |x|
|
||||||
|
comparator = x.comparator == ".equals" ? ".equals(#{x.value})" : "#{x.comparator} #{x.value}"
|
||||||
|
"s.get#{attribute}()#{comparator}"
|
||||||
|
end
|
||||||
|
"return #{container_obj}.stream().filter(s -> #{filters.join "&&"})"
|
||||||
|
end
|
||||||
|
|
||||||
|
def func_find_all(container_obj, attribute, filter_by)
|
||||||
|
"#{annoyed_maggie(container_obj, attribute, filter_by)}.collect(Collectors.toList());"
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
def find_whatever_of_something(container_obj, attribute, filter_by, aggregate_func)
|
||||||
|
"#{annoyed_maggie(container_obj, attribute, filter_by)}.#{aggregate_func}();"
|
||||||
|
end
|
||||||
|
|
||||||
|
def find_whatever_of_variable(container_obj, attribute, filter_by, aggregate_func, variable)
|
||||||
|
"#{annoyed_maggie(container_obj, attribute, filter_by)}.mapToInt(s -> s.get#{variable}()).#{aggregate_func}();"
|
||||||
|
end
|
||||||
|
|
||||||
|
def find_one(container_obj, attribute, filter_by)
|
||||||
|
"#{annoyed_maggie(container_obj, attribute, filter_by)}.findAny().orElse(null);"
|
||||||
|
end
|
||||||
|
|
||||||
|
def find_best_value(container_obj, attribute, filter_by, min_or_max, based_on)
|
||||||
|
"#{annoyed_maggie(container_obj, attribute, filter_by)}.mapToInt(s -> s.get#{based_on}()).#{min_or_max};"
|
||||||
|
end
|
||||||
|
|
||||||
|
def find_best_object(container_obj, attribute, filter_by, min_or_max, based_on)
|
||||||
|
"#{annoyed_maggie(container_obj, attribute, filter_by)}.#{min_or_max}(Comparator.comparing(#{based_on.type}.get#{based_on.variable}()));"
|
||||||
|
end
|
|
@ -1,44 +0,0 @@
|
||||||
def annoyed_maggie(attribute, filter_by)
|
|
||||||
filters = filter_by.map do |x|
|
|
||||||
comparator = x.comparator == ".equals" ? ".equals(#{x.value})" : "#{x.comparator} #{x.value}"
|
|
||||||
"s.get#{attribute}()#{comparator}"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def func_find_all(container_obj, attribute, filter_by)
|
|
||||||
annoyed_maggie(attribute, filter_by)
|
|
||||||
# TODO: Consider also having an "or" here
|
|
||||||
"return #{container_obj}.stream().filter(s -> #{filters.join "&&"}).collect(Collectors.toList());"
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
def find_whatever_of_something(container_obj, attribute, filter_by, aggregate_func)
|
|
||||||
annoyed_maggie(attribute, filter_by)
|
|
||||||
# TODO: Consider also having an "or" here
|
|
||||||
"return #{container_obj}.stream().filter(s -> #{filters.join "&&"}).#{aggregate_func}();"
|
|
||||||
end
|
|
||||||
|
|
||||||
def find_whatever_of_variable(container_obj, attribute, filter_by, aggregate_func, variable)
|
|
||||||
annoyed_maggie(attribute, filter_by)
|
|
||||||
# TODO: Consider also having an "or" here
|
|
||||||
"return #{container_obj}.stream().filter(s -> #{filters.join "&&"}).mapToInt(s -> s.get#{variable}()).#{aggregate_func}();"
|
|
||||||
end
|
|
||||||
|
|
||||||
def find_one(container_obj, attribute, filter_by)
|
|
||||||
annoyed_maggie(attribute, filter_by)
|
|
||||||
# TODO: Consider also having an "or" here
|
|
||||||
"return #{container_obj}.stream().filter(s -> #{filters.join "&&"}).findAny().orElse(null);"
|
|
||||||
end
|
|
||||||
|
|
||||||
def find_best_value(container_obj, attribute, filter_by, min_or_max, based_on)
|
|
||||||
annoyed_maggie(attribute, filter_by)
|
|
||||||
# TODO: Consider also having an "or" here
|
|
||||||
"return #{container_obj}.stream().filter(s -> #{filters.join "&&"}).mapToInt(s -> s.get#{based_on}()).#{min_or_max};"
|
|
||||||
end
|
|
||||||
|
|
||||||
def find_best_object(container_obj, attribute, filter_by, min_or_max, based_on)
|
|
||||||
annoyed_maggie(attribute, filter_by)
|
|
||||||
# TODO: Consider also having an "or" here
|
|
||||||
"return #{container_obj}.stream().filter(s -> #{filters.join "&&"}).#{min_or_max}(Comparator.comparing(#{based_on.type}.get#{based_on.variable}()));"
|
|
||||||
end
|
|
||||||
|
|
2
lol.rb
2
lol.rb
|
@ -1,7 +1,7 @@
|
||||||
require_relative 'find_algos'
|
require_relative 'find_algos'
|
||||||
require_relative 'sorting_algos'
|
require_relative 'sorting_algos'
|
||||||
require_relative 'Type'
|
require_relative 'Type'
|
||||||
require_relative 'functional_functions'
|
require_relative 'Functional_Maggie'
|
||||||
require_relative 'Filter'
|
require_relative 'Filter'
|
||||||
require_relative 'pdf-parser'
|
require_relative 'pdf-parser'
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user