Guest User

Untitled

a guest
Jul 17th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.24 KB | None | 0 0
  1. #! /usr/bin/env ruby
  2.  
  3. require 'pp'
  4. require 'rubygems'
  5. require 'fabrication'
  6. require 'optparse'
  7.  
  8. @class_generator_method = 'poc'
  9. @fabricator_with = 'faker'
  10. @attributes_for = false
  11.  
  12. def main
  13. args.parse( ARGV )
  14. generate_class
  15. generate_fabricator
  16. pp (1..10).map {
  17. if ( @attributes_for )
  18. Fabricate.attributes_for( :company )
  19. else
  20. Fabricate( :company )
  21. end
  22. }
  23. end
  24.  
  25. def generate_class
  26. require File.dirname( __FILE__ ) + "/class_by_#{@class_generator_method}"
  27. end
  28.  
  29. def generate_fabricator
  30. require File.dirname( __FILE__ ) + "/fabricator_with_#{@fabricator_with}"
  31. end
  32.  
  33. def class_generator_methods
  34. Dir.glob( 'class_by_*.rb' ).map { |e| e.sub( /class_by_(.+)\.rb/, '\1' ) }
  35. end
  36.  
  37. def fabricator_generator_methods
  38. Dir.glob( 'fab_with_*.rb' ).map { |e| e.sub( /fab_with_(.+)\.rb/, '\1' ) }
  39. end
  40.  
  41. def args
  42. OptionParser.new { |opt|
  43. opt.on( '-g', '--generator-method <poc|struct>' ) { |val|
  44. if ( class_generator_methods.include?( val ) )
  45. @class_generator_method = val
  46. else
  47. raise ArgumentError
  48. end
  49. }
  50. opt.on( '-a', '--attributes' ) {
  51. @attributes_for = true
  52. }
  53. opt.on( '-f', '--fabricator-with <faker|forgery>' ) { |val|
  54. @fabricator_with = val
  55. }
  56. }
  57. end
  58.  
  59. main()
Add Comment
Please, Sign In to add comment