Reputation: 16811
I have this code snippets that generates a signature for POSTs. The detail of it is not important, but what I want to know is: since it is not a model-related chunk of code, it really can be use anywhere: in controllers, in models, in view helpers; even in views. So I am unsure where and, even bigger of a problem, how to activate the use of it once I place it in some location.
Is it what those "require" statements are all about? That you can acquire some functionality through a "require" statement in the current file you are working on?
Just so that we have an example to talk about, say, I have a little snippet of code that does cubing:
def cube_it(num)
num**3
end
I know that I will be using it in various places across the application, so where should I put it? and when I do need to use it, how can I "summon" it?
Thank You
Upvotes: 5
Views: 1286
Reputation: 31
If you are using vs code, go to Menu at the screen top: Coder --> settings --> Configure UserSnippets --> open ruby.json file, and add the snippets inside the {}:
"Ruby Cube": {
"prefix": "cube_it",
"body": ["{ }**3"],
"description": "Rubys cube the number."
}
when you type "cube_it" in .rb files, it will show:
{ }**3
Upvotes: 0
Reputation: 38346
I would suggest putting your code inside a module named Math
in lib/math.rb
.
module Math
class << self
def cube_it(num)
num*3
end
end
end
You don't need any require statements with this (rails does it for you) and you can easily call it with Math.cube_it("Hi")
.
There are other ways of adding code to a rails application, but this is the best way.
Upvotes: 4
Reputation: 15126
Rails autoloads modules and classes when they are first used. You can put your function into a module (or class) and put the file into the lib directory in your application. require
statements aren't used in Rails apps often.
Upvotes: 2