procemon 0.0.1

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.
@@ -0,0 +1,14 @@
1
+ module Process
2
+ def self.daemonize
3
+ File.create Application.pid,'a+'
4
+ File.create Application.log,'a+'
5
+ File.create Application.daemon_stderr,'a+'
6
+ DaemonOgre::Daemon.start fork,
7
+ Application.pid,
8
+ Application.log,
9
+ Application.daemon_stderr
10
+ end
11
+ def self.stop
12
+ Daemon.stop
13
+ end
14
+ end
@@ -0,0 +1,43 @@
1
+ class RND
2
+ class << self
3
+ def string(length= 7,amount=1)
4
+ mrg = String.new
5
+ first_string = true
6
+ amount.times do
7
+ a_string = Random.rand(length)
8
+ a_string == 0 ? a_string += 1 : a_string
9
+ mrg_prt = (0...a_string).map{ ('a'..'z').to_a[rand(26)] }.join
10
+ first_string ? mrg += mrg_prt : mrg+= " #{mrg_prt}"
11
+ first_string = false
12
+ end
13
+ return mrg
14
+ end
15
+ def integer(length= 3)
16
+ Random.rand(length)
17
+ end
18
+ def boolean
19
+ rand(2) == 1
20
+ end
21
+ def time from = Time.at(1114924812), to = Time.now
22
+ rand(from..to)
23
+ end
24
+ def date from = Time.at(1114924812), to = Time.now
25
+ rand(from..to).to_date
26
+ end
27
+ def datetime from = Time.at(1114924812), to = Time.now
28
+ rand(from..to).to_datetime
29
+ end
30
+ end
31
+ end
32
+
33
+
34
+ # alias in Random from RND
35
+ begin
36
+ (RND.singleton_methods-Object.singleton_methods).each do |one_method_sym|
37
+ Random.class_eval do
38
+ define_singleton_method one_method_sym do |*args|
39
+ RND.__send__(one_method_sym,*args)
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,73 @@
1
+ class String
2
+
3
+ # Find string in othere string
4
+ def positions(oth_string)
5
+
6
+ special_chrs=%w[# _ & < > @ $ . , -]+[*(0..9)]+[*("A".."Z")]+[*("a".."z")]
7
+ loop do
8
+ if oth_string.include? special_chrs[0]
9
+ special_chrs.shift
10
+ else
11
+ break
12
+ end
13
+ end
14
+
15
+ string=self
16
+ return_array = Array.new
17
+ loop do
18
+ break if string.index(oth_string).nil?
19
+ range_value= ((string.index(oth_string))..(string.index(oth_string)+oth_string.length-1))
20
+ return_array.push range_value
21
+ [*range_value].each do |one_index|
22
+ string[one_index]= special_chrs[0]
23
+ end
24
+ end
25
+
26
+ # return value
27
+ return return_array
28
+ end
29
+
30
+ # Standard in rails. See official documentation
31
+ # [http://api.rubyonrails.org/classes/ActiveSupport/CoreExtensions/String/Inflections.html]
32
+ def camelize(first_letter = :upper)
33
+ if first_letter == :upper
34
+ gsub(/\/(.?)/) { "::#{$1.upcase}" }.gsub(/(?:^|_)(.)/) { $1.upcase }
35
+ else
36
+ self[0..0].downcase + camelize[1..-1]
37
+ end
38
+ end unless method_defined? :camelize
39
+
40
+ # Standard in rails. See official documentation
41
+ # [http://api.rubyonrails.org/classes/ActiveSupport/CoreExtensions/String/Inflections.html]
42
+ def dasherize
43
+ gsub(/_/, '-')
44
+ end unless method_defined? :dasherize
45
+
46
+ # Standard in rails. See official documentation
47
+ # [http://api.rubyonrails.org/classes/ActiveSupport/CoreExtensions/String/Inflections.html]
48
+ def demodulize
49
+ gsub(/^.*::/, '')
50
+ end unless method_defined? :demodulize
51
+
52
+ # Standard in rails. See official documentation
53
+ # [http://api.rubyonrails.org/classes/ActiveSupport/CoreExtensions/String/Inflections.html]
54
+ def underscore
55
+ gsub(/::/, '/').
56
+ gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
57
+ gsub(/([a-z\d])([A-Z])/,'\1_\2').
58
+ tr("-", "_").
59
+ downcase
60
+ end unless method_defined? :underscore
61
+
62
+ # Check that instance of String is start with an upper case or not
63
+ def capitalized?
64
+ self.match(/^[[:upper:]]/) ? true : false
65
+ end
66
+
67
+ end
68
+
69
+ =begin
70
+
71
+ /\b[A-Z]\w*/ #> this is for find capitalized words
72
+
73
+ =end
@@ -0,0 +1,11 @@
1
+ require 'yaml'
2
+ module YAML
3
+ def self.save_file(file_path,config_hash)
4
+ File.open(file_path, 'w+') {|f| f.write(config_hash.to_yaml) }
5
+ end
6
+
7
+ def self.load_file(file_path)
8
+ YAML.load(File.open(file_path))
9
+ end
10
+ end
11
+
data/procemon.gemspec ADDED
@@ -0,0 +1,58 @@
1
+ # coding: utf-8
2
+
3
+ #lib = File.expand_path('../lib', __FILE__)
4
+ #$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+
6
+ ### Get Files from dir
7
+ begin
8
+
9
+ files_to_be_loaded = %w[version.rb]
10
+ spec_files = Array.new
11
+ Dir[File.expand_path(File.join(File.dirname(__FILE__),"**","*"))].sort.uniq.each do |one_file_name|
12
+ one_file_name = File.expand_path one_file_name
13
+ file_name = one_file_name[(File.expand_path(File.dirname(__FILE__)).to_s.length+1)..(one_file_name.length-1)]
14
+
15
+ if !one_file_name.include?("pkg")
16
+ if !File.directory? file_name
17
+ spec_files.push file_name
18
+ STDOUT.puts file_name if $DEBUG
19
+ if files_to_be_loaded.include? one_file_name.split(File::SEPARATOR).last
20
+ load one_file_name
21
+ end
22
+ end
23
+ end
24
+
25
+ end
26
+
27
+ end
28
+
29
+ ### Specification for the new Gem
30
+ Gem::Specification.new do |spec|
31
+
32
+ spec.name = "procemon"
33
+ spec.version = File.open(File.join(File.dirname(__FILE__),"VERSION")).read.chomp
34
+ spec.authors = ["Adam Luzsi"]
35
+ spec.email = ["adamluzsi@gmail.com"]
36
+ spec.description = %q{This is a collection of my Ruby Procs in the adventure of becoming the best!}
37
+ spec.summary = %q{Gotta catch em all!}
38
+ spec.homepage = "https://github.com/adamluzsi/procemon"
39
+ spec.license = "MIT"
40
+
41
+ spec.files = spec_files
42
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
43
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
44
+ spec.require_paths = ["lib"]
45
+
46
+ ##=======Runtime-ENV================##
47
+ ### Terminal like commands
48
+ #spec.add_runtime_dependency "commander", ['~>4.1.3']
49
+
50
+ ## Node.JS
51
+ #spec.add_runtime_dependency "execjs"
52
+
53
+ ##=======Development-ENV============##
54
+ #spec.add_development_dependency "commander",['~>4.1.3']
55
+ #spec.add_development_dependency "rake"
56
+ #spec.add_development_dependency "bundle"
57
+
58
+ end
data/test/test.rb ADDED
@@ -0,0 +1,17 @@
1
+
2
+
3
+ require "procemon"
4
+
5
+
6
+ Procemon.init_all
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+ puts Random.string
17
+
metadata ADDED
@@ -0,0 +1,86 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: procemon
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Adam Luzsi
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-10-18 00:00:00.000000000 Z
13
+ dependencies: []
14
+ description: This is a collection of my Ruby Procs in the adventure of becoming the
15
+ best!
16
+ email:
17
+ - adamluzsi@gmail.com
18
+ executables: []
19
+ extensions: []
20
+ extra_rdoc_files: []
21
+ files:
22
+ - Gemfile
23
+ - Gemfile.lock
24
+ - LICENSE.txt
25
+ - README.md
26
+ - README.rdoc
27
+ - Rakefile
28
+ - VERSION
29
+ - dump/macaddr.rb
30
+ - dump/uuid.rb
31
+ - lib/procemon.rb
32
+ - lib/procemon/function/application.rb
33
+ - lib/procemon/function/argv.rb
34
+ - lib/procemon/function/daemon.rb
35
+ - lib/procemon/function/documentation.rb
36
+ - lib/procemon/function/eval.rb
37
+ - lib/procemon/function/meta/inject_methods.rb
38
+ - lib/procemon/function/name.rb
39
+ - lib/procemon/function/port.rb
40
+ - lib/procemon/function/require.rb
41
+ - lib/procemon/function/str2duck.rb
42
+ - lib/procemon/function/systemu.rb
43
+ - lib/procemon/function/tmp_dir.rb
44
+ - lib/procemon/mpatch/array.rb
45
+ - lib/procemon/mpatch/class.rb
46
+ - lib/procemon/mpatch/exception.rb
47
+ - lib/procemon/mpatch/file.rb
48
+ - lib/procemon/mpatch/hash.rb
49
+ - lib/procemon/mpatch/kernel.rb
50
+ - lib/procemon/mpatch/object.rb
51
+ - lib/procemon/mpatch/process.rb
52
+ - lib/procemon/mpatch/random.rb
53
+ - lib/procemon/mpatch/string.rb
54
+ - lib/procemon/mpatch/yml.rb
55
+ - procemon.gemspec
56
+ - test/test.rb
57
+ homepage: https://github.com/adamluzsi/procemon
58
+ licenses:
59
+ - MIT
60
+ post_install_message:
61
+ rdoc_options: []
62
+ require_paths:
63
+ - lib
64
+ required_ruby_version: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ segments:
71
+ - 0
72
+ hash: 954031994662740921
73
+ required_rubygems_version: !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ! '>='
77
+ - !ruby/object:Gem::Version
78
+ version: '0'
79
+ requirements: []
80
+ rubyforge_project:
81
+ rubygems_version: 1.8.25
82
+ signing_key:
83
+ specification_version: 3
84
+ summary: Gotta catch em all!
85
+ test_files:
86
+ - test/test.rb